2016-02-16 50 views
0

我想作以下行工作:讓StringIO的適用於IO.foreach

input = StringIO.new 
input.write("test\ntest2") 
IO.foreach(input) { |line| … } 

我知道IO.foreach需要一個文件說明。我可以把它變成一個文件描述符或僞造它,使它以不同的方式工作?

回答

1

要從StringIO讀你寫它之後,你需要把它捲回到開頭,用seek

input = StringIO.new 
input.write("test\ntest2") 
input.seek(0) 
input.each_line { |x| p x } 
# "test\n" 
# "test2"