如何在rake任务中使用"gets"?

73 ruby rake ruby-on-rails

每当我尝试在rake任务中使用函数时,我都会收到错误.有没有办法让它发挥作用?

错误说,"没有这样的文件或目录 - (rake任务名称)"

Jam*_*sen 148

问题是Kernel#gets(如果你只是单独使用gets,那就是你正在调用的那个)假设你正在从传递给Rake的参数命名的文件中提取.这意味着gets尝试返回名为[rake-task-here]的文件的内容,这几乎肯定不存在.

试试STDIN.gets.

  • 小 nit 选择:这里的 `$stdin` 可能比 `STDIN` 更可取,另见 /sf/answers/299578261/ (3认同)