我正在寻找一种创建命令行应用程序的方法,该应用程序将运行不带任何参数的默认方法。我摆弄了Thor的default_method选项,但仍然需要传递一个参数。我发现了一个similar case,其中有人想要运行带参数但没有任务名称的CLI Thor任务。

我想运行一个没有任务名称和参数的任务。这样的事情可能吗?

最佳答案

看来执行此操作的正确方法是使用default_task:

class Commands < Thor
  desc "whatever", "The default task to run when no command is given"
  def whatever
    ...
  end
  default_task :whatever
end
Commands.start

如果出于某种原因而不是您所需要的,那么您应该可以执行类似的操作
class Commands < Thor
  ...
end

if ARGV.empty?
  # Perform the default, it doesn't have to be a Thor task
  Commands.new.whatever
else
  # Start Thor as usual
  Commands.start
end

关于ruby - 运行不带参数或任务名称的CLI Thor应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7253415/

10-13 04:45