それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Ruby で gets をやり直す ungets 的なこと

rubyのIOにはいくつもメソッドがある。each/readline/gets 系統とポインタ系どうも相性が良くない。

getc/ungetc はあるけど、gets/ungetsがない。こまったので代案を考えた

require 'stringio'
str =<<EOS
見出し記法	*〜〜	日記に見出し(h3)を付けます
時刻付き見出し記法	*t*〜〜, *t+1*〜〜	見出しに編集時刻を保存し表示します
name属性付き見出し記法	*name*〜〜	見出しに好きな name 属性をつけます
カテゴリー記法	*[〜〜]〜〜	日記にカテゴリーを設定します
EOS
sio = StringIO.new str
while( sio.gets )
	# do something..
	sio.seek(-($_.length),IO::SEEK_CUR)
	# do something...
end


ちゃんとやらないと無限ループになったりする。