UsingStringIO
StringIOの使い方
Ruby 1.8.4では以下の方法はエラー
io = StringIO.new('') ... io.close buff = io.string # エラー
そのため、以下のいずれかの方法を利用する。
取り出す文字列の用意とStringIOの生成を同時に行う
io = StringIO.new(buff = '') io.write 'foo' ... io.close # buffを利用する
ブロックを使う
require 'stringio' require 'zlib' def to_zip(data, &p) StringIO.open('', 'w') do |out| zip(data, out) p.call(out.string) end end def zip(data, out) gz = Zlib::GzipWriter.new(out) gz.write(data) gz.finish end to_zip('abcdef') do |x| print x end
元の日記
http://www.artonx.org/diary/20050811.html http://www.artonx.org/diary/20050812.html
Keyword(s):
References: