るりまサーチ

最速Rubyリファレンスマニュアル検索!
528件ヒット [1-100件を表示] (0.038秒)

別のキーワード

  1. kernel require
  2. getoptlong require_order
  3. rubygems/custom_require require
  4. irb/ext/use-loader irb_require
  5. require execute

ライブラリ

クラス

キーワード

検索結果

<< 1 2 3 ... > >>

StringScanner#string -> String (24299.0)

スキャン対象にしている文字列を返します。

...[ruby]{
require
'strscan'

s = StringScanner.new('test string')
s.string # => "test string"
//}

返り値は freeze されていません。

//emlist[例][ruby]{
require
'strscan'

s = StringScanner.new('test string')
s.string.frozen? # => false
//}

なお、このメソッドは StringScanner.ne...
...の仕様に依存したコードを書かないようにしましょう。

//emlist[例][ruby]{
require
'strscan'

str = 'test string'
s = StringScanner.new(str)
s.string == str # => true
s.string.eql?(str) # => true (将来は false になる可能性がある)
//}

また、返り値の文字...
...ないでください。

//emlist[例][ruby]{
require
'strscan'

str = 'test string'
s = StringScanner.new(str)
s.string.replace("0123")
s.scan(/\w+/) # => "0123" (将来は "test" が返る可能性あり)
str # => "0123" (将来は "test string" が返る可能性あり)
//}...

StringScanner#scan(regexp) -> String | nil (24251.0)

スキャンポインタの地点だけで 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(/\w+/) #=> "string"
p s.scan(/./) #=> nil
//}...

String#scanf(format) -> Array (15161.0)

ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。

...文字列が見つからない場合は空の配列を
生成して返します。

require
'scanf'
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]

ブロックを指定した場合は scanf を継続して実行し、順次
見つかった文字列を変換したオブ...
...を返します。

require
'scanf'
str = "123 0x45 678 0x90"
p str.scanf("%d%x"){|n, s| [n, s]}
#=> [[123, 69], [678, 144]]

formatに完全にマッチしていなくても、部分的にマッチしていれば、
ブロックは実行されます。

require
'scanf'
str = "123 abc 45...
...ret = str.scanf("%s%d") { |s, n| [s, n] }
p ret #=> [["123", nil], ["abc", 456], ["def", nil]]


@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

使用例:
require
'scanf'
str =...

String#scanf(format) {|*ary| ...} -> Array (15161.0)

ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。

...文字列が見つからない場合は空の配列を
生成して返します。

require
'scanf'
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]

ブロックを指定した場合は scanf を継続して実行し、順次
見つかった文字列を変換したオブ...
...を返します。

require
'scanf'
str = "123 0x45 678 0x90"
p str.scanf("%d%x"){|n, s| [n, s]}
#=> [[123, 69], [678, 144]]

formatに完全にマッチしていなくても、部分的にマッチしていれば、
ブロックは実行されます。

require
'scanf'
str = "123 abc 45...
...ret = str.scanf("%s%d") { |s, n| [s, n] }
p ret #=> [["123", nil], ["abc", 456], ["def", nil]]


@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

使用例:
require
'scanf'
str =...

StringScanner#scan_until(regexp) -> String | nil (12221.0)

regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

...ら nil を返します。

@param regexp マッチに用いる正規表現を指定します。

//emlist[例][ruby]{
require
'strscan'

s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched # => "str"
s.pos # => 8
s.pre_match # => "test...

絞り込み条件を変える

StringScanner#scan_full(regexp, s, f) -> object (12186.0)

スキャンポインタの位置から regexp と文字列のマッチを試します。

...ます。

* scan_full(regexp, true, true) は StringScanner#scan と同等。
* scan_full(regexp, true, false) は StringScanner#skip と同等。
* scan_full(regexp, false, true) は StringScanner#check と同等。
* scan_full(regexp, false, false) は StringScanner#match? と同...
...][ruby]{
require
'strscan'

s = StringScanner.new('test string')
p s.scan_full(/\w+/, true, true) #=> "test"
p s.scan_full(/\s+/, false, true) #=> " "
p s.scan_full(/\s+/, true, false) #=> 1
p s.scan_full(/\w+/, false, false) #=> 6
p s.scan_full(/\w+/, true, true) #=> "string"
//}

@...
...see StringScanner#scan StringScanner#skip StringScanner#check StringScanner#match?...

StringScanner#unscan -> self (12155.0)

スキャンポインタを前回のマッチの前の位置に戻します。

...uby]{
require
'strscan'

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
//}


@return selfを返します。

このメソッドでポインタを戻せるのは 1 回分だけです。
2 回分以上戻そうとしたときは例外 StringScanner::...
...た、まだマッチを一度も行っていないときや、
前回のマッチが失敗していたときも例外 StringScanner::Error が発生します。

@raise StringScanner::Error 2 回分以上戻そうとした時や、
まだマッチを一度も行ってい...
...{
require
'strscan'

s = StringScanner.new('test string')
begin
# マッチを一度も行っていないので、例外が発生する。
s.unscan
rescue StringScanner::Error => err
puts err
# 出力例
#=> unscan failed: previous match had failed
end
p s.scan(/\w+/) # => "test"
s.unscan...

StringScanner#string=(str) (12126.0)

スキャン対象の文字列を str に変更して、マッチ記録を捨てます。

...す。

@param str スキャン対象の文字列を str に変更して、マッチ記録を捨てます。

@return str を返します。

//emlist[例][ruby]{
require
'strscan'

str = '0123'
s = StringScanner.new('test string')
s.string = str # => "0123"
s.scan(/\w+/) # => "0123"
//}...

StringScanner#peek(bytes) -> String (6175.0)

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

...[ruby]{
require
'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

また、このメソッドを実行してもスキャンポインタは移動しません。

String
Scanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#pee...
...][ruby]{
require
'strscan'

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentError => err
puts err # negative string size (or size too big)
end
p s.scan(/\w+/) # => "test"
p s.scan(/\s+/) #...
...=> " "
p s.scan(/\w+/) # => "string"
p s.peek(4) # => ""

# このメソッドを実行してもスキャンポインタは移動しません。

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(4) # => "test"
p s.scan(/\w+/) # => "test"
p s.peek(4) # => " str"...

StringScanner#peep(bytes) -> String (6175.0)

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

...[ruby]{
require
'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

また、このメソッドを実行してもスキャンポインタは移動しません。

String
Scanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#pee...
...][ruby]{
require
'strscan'

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentError => err
puts err # negative string size (or size too big)
end
p s.scan(/\w+/) # => "test"
p s.scan(/\s+/) #...
...=> " "
p s.scan(/\w+/) # => "string"
p s.peek(4) # => ""

# このメソッドを実行してもスキャンポインタは移動しません。

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(4) # => "test"
p s.scan(/\w+/) # => "test"
p s.peek(4) # => " str"...

絞り込み条件を変える

<< 1 2 3 ... > >>