Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > strscanライブラリ > StringScannerクラス > pointer=

instance method StringScanner#pointer=

pointer=(n)[permalink][rdoc]
pos=(n)

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

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

使用例

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    # => -4
p s.scan(/\w+/) # => "ring"