# StringScanner クラスリファレンス

## クラスメソッド

new( str, dup = true )
  新しい StringScanner オブジェクトを生成します。str はスキャン対 象の文字列です。dup が true の時は複製したうえで使います。またど ちらの場合でも StringScanner が保持する文字列はfreeze されます。
  must_C_version このクラスが C バージョンの StringScanner でなければ例外 NotImplementedError を発生します。

## メソッド

scan( regex )
  ポインタの地点だけで正規表現 regex とマッチを行って、マッチした らスキャンポインタを進めたうえでその部分の文字列を返します。マッ チしなかったら nil を返します。
skip( regex )
  ポインタの地点だけで正規表現 regex とマッチを行って、マッチした らスキャンポインタを進めたうえでマッチした文字列の長さを返します。 マッチしなかったら nil を返します。
match?( regex )
  ポインタの地点だけで正規表現 regex とマッチを行って、マッチした らスキャンポインタは進めずにマッチした文字列の長さを返します。マッ チしなかったら nil を返します。
check( regex )
  ポインタの地点だけで正規表現 regex とマッチを行って、マッチした らスキャンポインタは進めずにマッチした文字列を返します。マッチし なかったら nil を返します。
scan_until
  先頭以外でもマッチを試す scan です。
skip_until
  先頭以外でもマッチを試す skip です。
exist?
  先頭以外でもマッチを試す match? です。
check_until
  先頭以外でもマッチを試す check です。
getch
  スキャンポインタから一文字を文字列として返し、ポインタを進めます。 マルチバイトを認識します。getbyte も参照。
getbyte
  スキャンポインタから一バイトを文字列として返し、ポインタを進めます。
string, string=
  スキャン対象にしている文字列それ自体です。freeze されています。 代入時にはポインタとマッチ記録はクリアされ、また代入した文字列は dup したうえ freeze されます。
peek( len )
  ポインタから長さ len だけの文字列を返します。
empty?
  ポインタが文字列の最後にあるとき真。
rest?
  ポインタが文字列の最後になければ真。
rest
  ポインタ以降の文字列を返します。
rest_size
  ポインタ以降の文字列の長さを返します。
matched?
  前回のマッチが成功したかどうかを真偽値で返します。
matched
  前回マッチした部分の文字列を返します。 前回のマッチが失敗していると例外が発生します。
matched_size
  前回マッチした部分の文字列の長さを返します。 前回のマッチが失敗していると例外が発生します。
self[n]
  前回マッチした正規表現の n 番目のかっこに対応する部分文字列を返 します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。
reset
  ポインタを最初(インデックス 0 )に戻し、マッチ記録を捨てます。
terminate
  ポインタを文字列の最後まで進め、マッチ記録を捨てます。
unscan
  ポインタを前回のマッチの前の位置に戻します。一回分以上は戻せません。 前回のマッチが失敗していると例外が発生します。

Copyright (c) 1999-2001 Minero Aoki <aamine@cd.xdsl.ne.jp>