このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.0 リファレンスマニュアル

instance method StringScanner#<<

self << str -> self[permalink][rdoc][edit]
concat(str) -> self

操作対象の文字列に対し str を破壊的に連結します。マッチ記録は変更されません。

selfを返します。

[PARAM] str:
操作対象の文字列に対し str を破壊的に連結します。
require 'strscan'

s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
p s.scan(/\w(\w*)/)           # => "test"
p s[0]                        # => "test"
p s[1]                        # => "est"
p s << ' string'              # => #<StringScanner 4/11 "test" @ " stri...">
p s[0]                        # => "test"
p s[1]                        # => "est"
p s.scan(/\s+/)               # => " "
p s.scan(/\w+/)               # => "string"

この操作は StringScanner.new に渡した文字列にも影響することがあります。

require 'strscan'

str = 'test'
s = StringScanner.new(str) # => #<StringScanner 0/4 @ "test">
p s << ' string'           # => #<StringScanner 0/11 @ "test ...">
p str                      # => "test string"