fixed_anchor? -> boolRuby 2.7.0 から[permalink][rdoc][edit]-
selfが fixed anchor モードで生成されていればtrueを、そうでなければfalseを返します。fixed anchor モードは StringScanner.new に
例fixed_anchor: trueを指定すると有効になります。このモードでは、正規表現中の\Aは現在のスキャンポインタの位置ではなく元の文字列の先頭にマッチするようになり、^はスキャンポインタの位置に関係なく通常の行頭にマッチするようになります。
例: \A の挙動の違いrequire 'strscan' s1 = StringScanner.new('test') p s1.fixed_anchor? # => false s2 = StringScanner.new('test', fixed_anchor: true) p s2.fixed_anchor? # => true
例: ^ の挙動の違いrequire 'strscan' s1 = StringScanner.new("ab\ncd") s1.scan(/a/) p s1.scan(/\Ab/) # => "b" s2 = StringScanner.new("ab\ncd", fixed_anchor: true) s2.scan(/a/) p s2.scan(/\Ab/) # => nilrequire 'strscan' s1 = StringScanner.new("ab\ncd") s1.scan(/a/) p s1.scan(/^b/) # => "b" s1.scan(/\n/) p s1.scan(/^c/) # => "c" s2 = StringScanner.new("ab\ncd", fixed_anchor: true) s2.scan(/a/) p s2.scan(/^b/) # => nil s2.scan(/b\n/) p s2.scan(/^c/) # => "c"[SEE_ALSO] StringScanner.new