3

我有一个简单的方法

def save_logline
  print "What's the name of the movie"
  movie_name = gets.strip
  print "And what is your precious logline?"
  logline = gets.strip
  File::open(movie_name + '.txt', 'w') do |f|
    f.write(logline)
  end
end

每当我运行代码时,我都会收到插入电影名称的第一个提示,但是一旦我按下回车键,就会调用第二个打印,给我这个消息。

And what is your precious logline?=> 0

该文件已写入,但我无法在文本文件中插入任何内容。我的逻辑有什么问题,我该如何解决?我在 Ubuntu 的 RubyMine 中使用 irb。

编辑:似乎由于其他用户对我的代码工作的响应以及我自己在另一台开发机器上的测试,我的代码只是不能在那台机器上工作。我只能说我使用的是 RubyMine 的 irb 控制台。现在的问题一定是它是 RubyMine 问题还是我的开发机器有更大的问题?

最终编辑:我检查了我的第二个具有 RubyMine 的 comp,它似乎在 RubyMine 的 irb 控制台中也不起作用。除非有人知道为什么 RubyMine 的 irb 表现得很古怪,否则我将在一两天内将 bug 发布给 RubyMine 并感谢 Jeremy。

4

1 回答 1

4

您的代码有效。是的0返回值f.write。这是说它向您的文件写入了零字节,因为您没有给它任何输入。

编辑:也许你不小心按了两次回车......

于 2013-01-25T07:19:38.710 回答