2013-11-09 40 views
0
File.open("/tmp/test") do |file| 
    file.each_line("e") {|line| 
    puts "Got #{ line.dump }" 
    } 
end 

返回irb中的“IOError:closed stream”。但是如果被保存在'test.rb'文件中,ruby test.rb - 工作正常。 Ruby版本:ruby-2.0.0-p247,ruby-2.1.0-preview1,Ubuntu,Mac OS。我错了什么?IO错误:在irb中关闭流

user:ads user$ echo "a\nb\nc" > /tmp/test 
user:ads user$ irb 
2.1.0-preview1 :001 > File.open("/tmp/test") { |file| file.each_line { |line| puts "Got #{ line.dump }" } } 
Got "a\\nb\\nc\n" 
IOError: closed stream 
    from /Users/user/.rvm/gems/ruby-2.1.0-preview1/gems/awesome_print-1.2.0/lib/awesome_print/formatter.rb:199:in `directory?' 
    from /Users/user/.rvm/gems/ruby-2.1.0-preview1/gems/awesome_print-1.2.0/lib/awesome_print/formatter.rb:199:in `awesome_file' 
    from /Users/user/.rvm/gems/ruby-2.1.0-preview1/gems/awesome_print-1.2.0/lib/awesome_print/formatter.rb:26:in `format' 
    from /Users/user/.rvm/gems/ruby-2.1.0-preview1/gems/awesome_print-1.2.0/lib/awesome_print/inspector.rb:137:in `unnested' 
    from /Users/user/.rvm/gems/ruby-2.1.0-preview1/gems/awesome_print-1.2.0/lib/awesome_print/inspector.rb:104:in `awesome' 
    from /Users/user/.rvm/gems/ruby-2.1.0-preview1/gems/awesome_print-1.2.0/lib/awesome_print/core_ext/kernel.rb:10:in `ai' 
    from /Users/user/.rvm/gems/ruby-2.1.0-preview1/gems/awesome_print-1.2.0/lib/awesome_print/core_ext/kernel.rb:20:in `ap' 
    from /Users/user/.irbrc:7:in `output_value' 
    from /Users/user/.rvm/rubies/ruby-2.1.0-preview1/bin/irb:15:in `<main>' 
+1

为我工作,,,! –

+0

请参阅[这里](http://www.ruby-doc.org/core-1.9.3/IOError.html),以了解何时会出现这样的错误。但我没有看到任何此类症状你的代码。 –

+0

文件'“/ tmp/test”'是否存在? –

回答