我在RubyMonk Book 1 Ch 9.1上演示概念的默认代码是这样的。如何关闭打开的文件?显然我在回到它之后运行了这么多次,现在它返回了这个错误:
# open the file "new-fd" and create a file descriptor:
fd = IO.sysopen("new-fd", "w")
# create a new I/O stream using the file descriptor for "new-fd":
p IO.new(fd)
STDOUT:
class: Errno::EMFILE
message: Too many open files - new-fd
backtrace: RubyMonk:4:in `sysopen'
编辑:显然该网站正在使用FakeFS模拟文件创建/删除。这会导致异常行为,例如调用IO.methods不返回任何内容。链接到网站:https://rubymonk.com/learning/books/1-ruby-primer/chapters/42-introduction-to-i-o/lessons/89-streams
答案 0 :(得分:1)
这里有两件事: