るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

クラス

キーワード

検索結果

StringScanner#unscan -> self (45.0)

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

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

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

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


@
return selfを返します。

このメソッドでポインタを戻せるのは 1...
...ます。

@
raise StringScanner::Error 2 回分以上戻そうとした時や、
まだマッチを一度も行っていない時、
前回のマッチが失敗していた時に発生します。

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

s = St...
...ailed: previous match had failed
end

p s.scan(/\w+/) # => "test"
s.unscan
begin
# 二回以上戻そうとしたので、例外が発生する。
s.unscan
rescue StringScanner::Error => err
puts err
# 出力例
#=> unscan failed: previous match had failed
end

p s.scan(/\w+/) # => "test"
p...

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

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

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

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

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

StringScan...
...ner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。

@
param bytes 0 以上の整数を指定します。
ただし、スキャン対象の文字列の長さを超える分は無視されます。...
...文字列の末尾を
指しているときは空文字列 ("") を返します。

@
raise ArgumentError bytes に負数を与えると発生します。

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

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test...

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

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

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

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

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

StringScan...
...ner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。

@
param bytes 0 以上の整数を指定します。
ただし、スキャン対象の文字列の長さを超える分は無視されます。...
...文字列の末尾を
指しているときは空文字列 ("") を返します。

@
raise ArgumentError bytes に負数を与えると発生します。

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

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test...

StringScanner#pointer=(n) (33.0)

スキャンポインタのインデックスを n にセットします。

...トします。

@
param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@
raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。

@
return n を返...
.../emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\w+/) # => "est"
p s.pos = 7 # => 7
p s.scan(/\w+/) # => "ring"

begin
s.pos = 20
rescue RangeError => err
puts err #=> index out of range
end

p s.pos = -4...

StringScanner#pos=(n) (33.0)

スキャンポインタのインデックスを n にセットします。

...トします。

@
param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@
raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。

@
return n を返...
.../emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\w+/) # => "est"
p s.pos = 7 # => 7
p s.scan(/\w+/) # => "ring"

begin
s.pos = 20
rescue RangeError => err
puts err #=> index out of range
end

p s.pos = -4...

絞り込み条件を変える

StringScanner#match?(regexp) -> Integer | nil (27.0)

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。

...list[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)
end


p case1("EUC-JP") #=> 2
//}

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

//emlist[例][ruby]{
req...