ライブラリ
- ビルトイン (3)
- psych (5)
-
rdoc
/ parser / c (1) -
rdoc
/ parser / changelog (1) -
rdoc
/ parser / markdown (1) -
rdoc
/ parser / rd (1) -
rdoc
/ parser / ruby (1) -
rdoc
/ parser / simple (1) - ripper (2)
- scanf (7)
- strscan (33)
- uri (2)
-
webrick
/ httpserver (1)
クラス
- Enumerator (1)
-
Psych
:: ScalarScanner (3) -
Psych
:: Visitors :: YAMLTree (1) -
RDoc
:: Parser :: C (1) -
RDoc
:: Parser :: ChangeLog (1) -
RDoc
:: Parser :: Markdown (1) -
RDoc
:: Parser :: RD (1) -
RDoc
:: Parser :: Ruby (1) -
RDoc
:: Parser :: Simple (1) - Ripper (2)
-
Scanf
:: FormatSpecifier (1) -
Scanf
:: FormatString (4) - String (2)
- StringScanner (33)
-
WEBrick
:: HTTPServer :: MountTable (1)
キーワード
- << (1)
-
SCANNER
_ EVENTS (1) -
SCANNER
_ EVENT _ TABLE (1) - ScalarScanner (1)
- [] (1)
-
beginning
_ of _ line? (1) - bol? (1)
- check (1)
-
check
_ until (1) - clear (1)
- concat (1)
- each (1)
- empty? (1)
- eos? (1)
- exist? (1)
- extract (2)
-
get
_ byte (1) - getbyte (1)
- getch (1)
- gsub (1)
-
last
_ match _ tried (1) -
last
_ spec (1) -
last
_ spec _ tried (1) - letter (1)
- match? (1)
- matched (1)
- matched? (1)
-
matched
_ size (1) - matchedsize (1)
-
must
_ C _ version (1) - new (3)
-
parse
_ time (1) -
post
_ match (1) -
pre
_ match (1) -
rb
_ define _ method (1) -
rb
_ scan _ args (1) - reset (1)
- rest? (1)
-
scan
_ full (1) -
scan
_ until (1) - scanf (2)
-
search
_ full (1) - skip (1)
-
skip
_ until (1) -
string
_ left (1) - terminate (1)
- tokenize (1)
- unscan (1)
- xmlrpc (1)
検索結果
先頭5件
-
StringScanner
# scan(regexp) -> String | nil (63694.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタを進めて正規表現にマッチした 部分文字列を返します。マッチしなかったら nil を返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタを進めて正規表現にマッチした
部分文字列を返します。マッチしなかったら nil を返します。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan(/\w+/) #=> "test"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/... -
RDoc
:: Parser :: ChangeLog # scan -> RDoc :: TopLevel (63604.0) -
ChangeLog ファイルを解析します。
ChangeLog ファイルを解析します。
@return RDoc::TopLevel オブジェクトを返します。 -
RDoc
:: Parser :: Simple # scan -> RDoc :: TopLevel (63604.0) -
自身の持つ RDoc::TopLevel のコメントとしてファイルの内容を解析し ます。
自身の持つ RDoc::TopLevel のコメントとしてファイルの内容を解析し
ます。
@return RDoc::TopLevel オブジェクトを返します。 -
WEBrick
:: HTTPServer :: MountTable # scan(path) -> Array (63304.0) -
与えられたパスをスクリプトの名前と PATH_INFO に分割します。
与えられたパスをスクリプトの名前と PATH_INFO に分割します。
@param path パスを指定します。 -
String
# scan(pattern) {|s| . . . } -> self (54676.0) -
pattern がマッチした部分文字列をブロックに渡して実行します。 pattern が正規表現で括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。
pattern がマッチした部分文字列をブロックに渡して実行します。
pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした文字列の配列を渡します。
@param pattern 探索する部分文字列または正規表現
//emlist[例][ruby]{
"foobarbazfoobarbaz".scan(/ba./) {|s| p s }
# "bar"
# "baz"
# "bar"
# "baz"
"foobarbazfoobarbaz".scan("ba") {|s| p s }
# "ba"
# "ba"
# "ba"
# "ba"
"foobarb... -
RDoc
:: Parser :: C # scan -> RDoc :: TopLevel (54604.0) -
C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン トを解析します。
C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン
トを解析します。
@return RDoc::TopLevel オブジェクトを返します。 -
RDoc
:: Parser :: Markdown # scan -> RDoc :: TopLevel (54604.0) -
Markdown 形式で記述されたファイルを解析します。
Markdown 形式で記述されたファイルを解析します。
@return RDoc::TopLevel オブジェクトを返します。 -
RDoc
:: Parser :: RD # scan -> RDoc :: TopLevel (54604.0) -
RD 形式で記述されたファイルを解析します。
RD 形式で記述されたファイルを解析します。
@return RDoc::TopLevel オブジェクトを返します。 -
RDoc
:: Parser :: Ruby # scan -> RDoc :: TopLevel (54604.0) -
Ruby のソースコードからクラス/モジュールのドキュメントを解析します。
Ruby のソースコードからクラス/モジュールのドキュメントを解析します。
@return RDoc::TopLevel オブジェクトを返します。 -
StringScanner
# scan _ full(regexp , s , f) -> object (45802.0) -
スキャンポインタの位置から regexp と文字列のマッチを試します。
スキャンポインタの位置から regexp と文字列のマッチを試します。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばマッチした部分文字列を返します。
* f が false ならばマッチした部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と f の組み合わせにより、
他のメソッドと同等の動作になります。
*... -
StringScanner
# scan _ until(regexp) -> String | nil (45622.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched # => "str"
s.pos ... -
Ripper
:: SCANNER _ EVENT _ TABLE -> {Symbol => Integer} (36601.0) -
スキャナイベントのイベント ID (シンボル) と対応するハンドラの引数の個数 のリストをハッシュで返します。
スキャナイベントのイベント ID (シンボル) と対応するハンドラの引数の個数
のリストをハッシュで返します。 -
Psych
:: ScalarScanner (36001.0) -
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。 -
StringScanner
# unscan -> self (27691.0) -
スキャンポインタを前回のマッチの前の位置に戻します。
スキャンポインタを前回のマッチの前の位置に戻します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
//}
@return selfを返します。
このメソッドでポインタを戻せるのは 1 回分だけです。
2 回分以上戻そうとしたときは例外 StringScanner::Error が発生します。
また、まだマッチを一度も行っていないときや、
前回のマッチが失敗してい... -
StringScanner
# beginning _ of _ line? -> bool (27355.0) -
スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。
スキャンポインタが行頭を指しているなら true を、
行頭以外を指しているなら false を返します。
行頭の定義は、文字列先頭かまたは \n の直後を指していることです。
文字列末尾は必ずしも行頭ではありません。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new("test\nstring")
s.bol? # => true
s.scan(/\w+/)
s.bol? # => false
s.scan(/\n/)
s.bol? # => true
s.scan(/\w+/... -
StringScanner
# bol? -> bool (27355.0) -
スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。
スキャンポインタが行頭を指しているなら true を、
行頭以外を指しているなら false を返します。
行頭の定義は、文字列先頭かまたは \n の直後を指していることです。
文字列末尾は必ずしも行頭ではありません。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new("test\nstring")
s.bol? # => true
s.scan(/\w+/)
s.bol? # => false
s.scan(/\n/)
s.bol? # => true
s.scan(/\w+/... -
StringScanner
# search _ full(regexp , s , f) -> object (27337.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
* f が false ならばスキャン開始位置からマッチした部分の末尾までの部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と ... -
StringScanner
# clear -> self (27319.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
@return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]... -
StringScanner
# skip _ until(regexp) -> Integer | nil (27319.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。
マッチに失敗したら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => 8
s.matched # => "str"
s.pos # =>... -
Kernel
# scanf(format) -> Array (27301.0) -
STDIN.scanf と同じです。 IO#scanf、Stdin#scanfも参照してください。
STDIN.scanf と同じです。
IO#scanf、Stdin#scanfも参照してください。
@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。
@see IO#scanf, Stdin#scanf -
Kernel
# scanf(format) {|*ary| . . . } -> Array (27301.0) -
STDIN.scanf と同じです。 IO#scanf、Stdin#scanfも参照してください。
STDIN.scanf と同じです。
IO#scanf、Stdin#scanfも参照してください。
@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。
@see IO#scanf, Stdin#scanf -
Scanf
:: FormatSpecifier # letter (27301.0) -
@todo
@todo -
Scanf
:: FormatString # last _ match _ tried (27301.0) -
@todo
@todo -
Scanf
:: FormatString # last _ spec (27301.0) -
@todo
@todo -
Scanf
:: FormatString # last _ spec _ tried (27301.0) -
@todo
@todo -
Scanf
:: FormatString # string _ left (27301.0) -
@todo
@todo -
StringScanner
# check _ until(regexp) -> String | nil (27301.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check_until(/str/) # => "test str"
s.matched # => "str... -
int rb
_ scan _ args(int argc , const VALUE *argv , const char *fmt , . . . ) (18637.0) -
長さ argc の配列 argv を fmt に従って 解析し、第四引数以降で渡されたアドレスに書き込みます。
長さ argc の配列 argv を fmt に従って
解析し、第四引数以降で渡されたアドレスに書き込みます。
fmt のフォーマットは以下の通りです。
* 必須引数の数 (省略可能な引数があるなら省略不可)
* 省略可能な引数の数 (ゼロ個ならば省略可)
* 残りの引数を Ruby の配列として受け取ることを示す '*' (省略可)
* 最後の引数をオプションハッシュとして受け取る事を示す ':' (省略可)
* ブロックを Proc オブジェクト化して受け取ることを示す '&' (省略可)
これらの指定文字はそれぞれ省略可能ですが、
必ずこの順番で現れなければい... -
Ripper
:: SCANNER _ EVENTS -> [Symbol] (18601.0) -
スキャナイベントのイベント ID (シンボル) のリストを返します。
スキャナイベントのイベント ID (シンボル) のリストを返します。 -
StringScanner
# terminate -> self (18319.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
@return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]... -
xmlrpc (18019.0)
-
XML-RPC を扱うためのライブラリです。
XML-RPC を扱うためのライブラリです。
このページは xmlrpc ライブラリのまとめのページであり、require 'xmlrpc' を実行しても
エラーになることに注意して下さい。
=== Author and Copyright
Copyright (C) 2001-2004 by Michael Neumann
Released under the same term of license as Ruby.
=== Overview
XMLRPC is a lightweight protocol that enables remote procedure calls... -
Psych
:: ScalarScanner # parse _ time(string) -> Time (18001.0) -
文字列を Time オブジェクトに変換します。
文字列を Time オブジェクトに変換します。
@param string 変換文字列 -
Psych
:: ScalarScanner # tokenize(string) -> object (18001.0) -
YAML の scalar である文字列を Ruby のオブジェクトに変換した ものを返します。
YAML の scalar である文字列を Ruby のオブジェクトに変換した
ものを返します。
scanner = Psych::ScalarScanner.new
p scanner.tokenize("yes") # => true
p scanner.tokenize("year") # => "year"
p scanner.tokenize("12") # => 12
@param string 変換文字列 -
Psych
:: ScalarScanner . new (18001.0) -
新たな ScalarScanner オブジェクトを生成します。
新たな ScalarScanner オブジェクトを生成します。 -
StringScanner
. new(str , dup = false) -> StringScanner (9655.0) -
新しい StringScanner オブジェクトを生成します。
新しい StringScanner オブジェクトを生成します。
@param str スキャン対象の文字列を指定します。
@param dup dup は単に無視します。
引数の文字列は複製も freeze もされず、そのまま使います。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('This is an example string')
s.eos? #=> false
p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #... -
Psych
:: Visitors :: YAMLTree . new(options = {} , emitter = Psych :: TreeBuilder . new , ss = Psych :: ScalarScanner . new) -> Psych :: Visitors :: YAMLTree (9601.0) -
YAMLTree オブジェクトを生成します。
YAMLTree オブジェクトを生成します。
options には構築される YAML AST に設定されるオプション設定を指定します。
Psych.dump と同じオプションが指定できます。
emitter には AST の構築に使われる Psych::TreeBuilder オブジェクト
を渡します。
ss は Ruby の String が YAML document 上で quote が必要かどうか
を判定するための Psych::ScalarScanner オブジェクトを渡します。
emitter, ss は通常デフォルトのものから変える必要はないでしょう。
@param... -
StringScanner
# post _ match -> String | nil (9391.0) -
前回マッチを行った文字列のうち、マッチしたところよりも後ろの 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。
前回マッチを行った文字列のうち、マッチしたところよりも後ろの
部分文字列を返します。前回のマッチが失敗していると常に nil を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.post_match # => nil
s.scan(/\w+/) # => "test"
s.post_match # => " string"
s.scan(/\w+/) # => nil
s.post_match # => nil
s.scan(/\s+/) # => " "
s.post... -
StringScanner
# pre _ match -> String | nil (9391.0) -
前回マッチを行った文字列のうち、マッチしたところよりも前の 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。
前回マッチを行った文字列のうち、マッチしたところよりも前の
部分文字列を返します。前回のマッチが失敗していると常に nil を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.pre_match # => nil
s.scan(/\w+/) # => "test"
s.pre_match # => ""
s.scan(/\w+/) # => nil
s.pre_match # => nil
s.scan(/\s+/) # => " "
s.pre_match ... -
StringScanner
# [](nth) -> String | nil (9373.0) -
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。インデックス 0 はマッチした部分全体です。前回のマッチが
失敗していると常に nil を返します。
@param nth 前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w(\w)(\w*)/) # => "test"
s[0] # => "test"... -
StringScanner
# <<(str) -> self (9355.0) -
操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。
操作対象の文字列に対し str を破壊的に連結します。
マッチ記録は変更されません。
selfを返します。
@param str 操作対象の文字列に対し str を破壊的に連結します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.scan(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] ... -
StringScanner
# concat(str) -> self (9355.0) -
操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。
操作対象の文字列に対し str を破壊的に連結します。
マッチ記録は変更されません。
selfを返します。
@param str 操作対象の文字列に対し str を破壊的に連結します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.scan(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] ... -
StringScanner
# empty? -> bool (9355.0) -
スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。
スキャンポインタが文字列の末尾を指しているなら true を、
末尾以外を指しているなら false を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.eos? # => false
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
s.eos? # => true
//}
StringScanner#empty? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使って... -
StringScanner
# eos? -> bool (9355.0) -
スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。
スキャンポインタが文字列の末尾を指しているなら true を、
末尾以外を指しているなら false を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.eos? # => false
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
s.eos? # => true
//}
StringScanner#empty? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使って... -
StringScanner
# matched -> String | nil (9355.0) -
前回マッチした部分文字列を返します。 前回のマッチに失敗していると nil を返します。
前回マッチした部分文字列を返します。
前回のマッチに失敗していると nil を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.matched # => nil
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.scan(/\w+/) # => nil
s.matched # => nil
s.scan(/\s+/) # => " "
s.matched # => " "
//} -
StringScanner
# matched? -> bool (9355.0) -
前回のマッチが成功していたら true を、 失敗していたら false を返します。
前回のマッチが成功していたら true を、
失敗していたら false を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.matched? # => false
s.scan(/\w+/) # => "test"
s.matched? # => true
s.scan(/\w+/) # => nil
s.matched? # => false
s.scan(/\s+/) # => " "
s.matched? # => true
//} -
StringScanner
# matched _ size -> Integer | nil (9355.0) -
前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。
前回マッチした部分文字列の長さを返します。
前回マッチに失敗していたら nil を返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def run(encode)
utf8 = "\u{308B 3073 3044}" # るびい
s = StringScanner.new(utf8.encode(encode))
s.scan(/#{"\u{308B}".encode(encode)}/)
s.matched_size
end
p run("UTF-8") #=> 3
p... -
StringScanner
# rest? -> bool (9355.0) -
文字列が残っているならば trueを、 残っていないならば false を返します。
文字列が残っているならば trueを、
残っていないならば false を返します。
StringScanner#eos? と逆の結果を返します。
StringScanner#rest? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使ってください。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.eos? # => false
p s.rest? # => true
s.scan(/\w+/)
s.scan... -
StringScanner
# exist?(regexp) -> Integer | nil (9319.0) -
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.exist?(/s/) # => 3
s.exist?(//) # => 0
s.scan(/\w+/) # => "test"
s.exist?(/s/) # => 2
s.exis... -
StringScanner
# reset -> self (9319.0) -
スキャンポインタを文字列の先頭 (インデックス 0) に戻し、 マッチ記録を捨てます。
スキャンポインタを文字列の先頭 (インデックス 0) に戻し、
マッチ記録を捨てます。
pos = 0と同じ動作です。
@return self を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.reset
s.matched # => nil
s[0] ... -
StringScanner
# check(regexp) -> String | nil (9301.0) -
現在位置から regexp とのマッチを試みます。 マッチに成功したらマッチした部分文字列を返します。 マッチに失敗したら nil を返します。
現在位置から regexp とのマッチを試みます。
マッチに成功したらマッチした部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check(/\w+/) # => "test"
s.pos # => 0
s.matched # => "test"
s.check(... -
StringScanner
# get _ byte -> String | nil (9301.0) -
1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。
1 バイトスキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すなら nil を返します。
StringScanner#getbyte は将来のバージョンで削除される予定です。
代わりに StringScanner#get_byte を使ってください。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("EUC-JP"))
p s.get_byte #=> "\xA4"
p ... -
StringScanner
# getbyte -> String | nil (9301.0) -
1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。
1 バイトスキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すなら nil を返します。
StringScanner#getbyte は将来のバージョンで削除される予定です。
代わりに StringScanner#get_byte を使ってください。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("EUC-JP"))
p s.get_byte #=> "\xA4"
p ... -
StringScanner
# getch -> String | nil (9301.0) -
一文字スキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すならnilを返します。
一文字スキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すならnilを返します。
一文字の定義は、与えた文字列のエンコードに依存します。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("UTF-8"))
p s.getch # => "る"
p s.getch # => "び"
p s.... -
StringScanner
# match?(regexp) -> Integer | nil (9301.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタは進めずにマッチした
部分文字列の長さを返します。マッチしなかったら nil を
返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)... -
StringScanner
# matchedsize -> Integer | nil (9301.0) -
StringScanner#matched_size と同じです。
StringScanner#matched_size と同じです。
このメソッドは は将来のバージョンで削除される予定です。
代わりに StringScanner#matched_size を使ってください。
@see StringScanner#matched_size -
StringScanner
# skip(regexp) -> Integer | nil (9301.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたらスキャンポインタを進めマッチした部分文字列の 長さを返します。マッチしなかったら nil を返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたらスキャンポインタを進めマッチした部分文字列の
長さを返します。マッチしなかったら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.skip(/\w+/) #=> 4
p s.skip(/\w+/) #=> nil
p s.skip(/\s+/) #=> 1
p s.skip(/\w+/) #=... -
StringScanner
. must _ C _ version -> self (9301.0) -
このメソッドは後方互換性のために定義されています。
このメソッドは後方互換性のために定義されています。 -
void rb
_ define _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (619.0) -
クラスklassのインスタンスメソッドnameを定義します。
クラスklassのインスタンスメソッドnameを定義します。
argcはCの関数へ渡される引数の数(と形式)を決めます.
: argcが0以上の時
argcで指定した値がそのメソッドの引数の数になります。
16個以上の引数は使えません,
VALUE func(VALUE self, VALUE arg1, ... VALUE argN)
: argcが-1のとき
引数はCの配列として第二引数に入れて渡されます。
第一引数は配列の要素数です。
VALUE func(int argc, VALUE *argv, VALUE... -
Enumerator
# each -> self (391.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、
生成時に指定したイテレータの戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } ... -
URI
. extract(str) {|uri _ str| . . . } -> nil (319.0) -
文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。
文字列 str に対してパターンマッチングを試み、
絶対URIにマッチした部分文字列からなる配列として返します。
抽出する URI がなければ空の配列を返します。
第2引数に文字列の配列 schemes が与えられた場合は
そのスキームだけを検索します。
ブロックが与えられた場合は String#scan と同様で、
マッチした部分がみつかるたびに uri_str に
その部分を代入してブロックを評価します。
このときは nil を返します。
このメソッドは Ruby 2.2 から obsolete です。
@param str 文字列を与えます。
@param schemes 検... -
URI
. extract(str , schemes) {|uri _ str| . . . } -> nil (319.0) -
文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。
文字列 str に対してパターンマッチングを試み、
絶対URIにマッチした部分文字列からなる配列として返します。
抽出する URI がなければ空の配列を返します。
第2引数に文字列の配列 schemes が与えられた場合は
そのスキームだけを検索します。
ブロックが与えられた場合は String#scan と同様で、
マッチした部分がみつかるたびに uri_str に
その部分を代入してブロックを評価します。
このときは nil を返します。
このメソッドは Ruby 2.2 から obsolete です。
@param str 文字列を与えます。
@param schemes 検... -
String
# gsub(pattern , replace) -> String (304.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した...