けいじゅ@日本ラショナルソフトウェアです.

In [ruby-list :12729 ] the message: "[ruby-list:12729] Re: [REQ]
rlex.rb ", on Mar/10 19:10(JST) YANAGAWA Kazuhisa writes:

>> >`.' によるマッチは `\n' を乗り越えて進んでいくような.
>> そうか. どれだとよいんですね.
>
>「どれ」?

すいません. ``それ''でした.

>> str = "foo\nbar\nbaz\n"
>>     ==>"foo\nbar\nbaz\n"
>> str =~ /.*$/; str = $'
>>     ==>"\nbar\nbaz\n"
>> こういう風にすると駄目なんですね....
>
>`.*' は空文字列にもマッチするからでしょうね.先頭から greedy にマッチ
>をとると最初の空文字列にまっちしてしまう.

そういうことなんですね. 

># 「から,空文字列にマッチするようなパターンは避けた方が良いでしょ
># う.」ってどこかに書く事にしよう.

(^^;;; 

>> ところで, もう1つきになる動作を発見しました(^^;;;
>> Scanner.newに文字列を渡した時の動作ってちゃんと確認しています?
>
>ずばり,してません (^^; 実際最近の様子からすると石塚さんの方が利用して
>いる時間が長い用です (^^;

(^^;;;

>たぶん #1 を `return nil if @__line__.to_s.empty?' にしたら動くんじゃ
>ないかとは思いますが,むりして一行にまとめないでちゃんと書き下すって言
>うのが真っ当な解決策でしょう.

(^^; とにかくお願いしマスです.

>ついでに Scanner#feed(str) なんてなメソッドを追加して新しくします.あ
>んまり遠くない未来になる事を希望しています.<< 他人事みたいないいぐさ
>
># Scanner#feed(str) は UNGETS の逆で,@__line__ << str をやるメソッド.
># String をスキャンする場合にいちいち新しいスキャナを作るのもどうかと
># 思って.....じつはべつに構わなかったりする?

確かにそれはいえますね. 期待して待っていマスです.


__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju / rational.com <<---