Ruby控制台应用程序 - 在Thor上获取.chomp

时间:2014-07-15 20:03:01

标签: ruby thor

我正在编写一个小应用程序来在终端上执行某些任务。 Thor宝石做得很好,而我有“一枪”命令。但是我的一个任务需要用户在命令后输入内容,然后我尝试使用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接过了频道,甚至在那里排队了..

如何在Thor命令中获得一些用户输入?

1 个答案:

答案 0 :(得分:1)

Thor有一种询问用户输入的特定方法,(毫不奇怪)名为 ask