【发布时间】:2014-07-15 20:03:00
【问题描述】:
我正在编写一个小应用程序来在终端上执行一些任务。 Thor gem 在我有“一次性”命令时做得很好。但是我的一项任务需要用户在命令后输入一些东西,然后我尝试使用gets.chomp失败:
class Devop < Thor
desc "some", "string"
def envstatus(pattern)
# CODE ..
while not (0..env_count).include?(option) do option = gets.chomp.to_i end
# ..CODE
end
end
当尝试像这样运行命令时:
ruby devop.rb envstatus prtarq
我得到这个错误:
devop.rb:40:in `gets': No such file or directory @ rb_sysopen - envstatus (Errno::ENOENT)
似乎 Thor 占据了频道,甚至将我的 args 排在了那里..
如何在 Thor 命令中获取一些用户输入?
【问题讨论】: