gpt4 book ai didi

ruby - 在 Ruby 的 Thor 上,如何显示应用程序中的命令用法

转载 作者:数据小太阳 更新时间:2023-10-29 08:57:41 25 4
gpt4 key购买 nike

我正在使用 Ruby 和 Thor 构建一个 CLI,如果没有传递任何选项,我想在屏幕上打印命令用法。

下面伪代码行的内容:

Class Test < Thor
desc 'test', 'test'
options :run_command

def run_command
if options.empty?
# Print Usage
end
end
end

我目前正在使用以下 hack(我并不以此为荣!=P):

Class Test < Thor
desc 'test', 'test'
options :run_command

def run_command
if options.empty?
puts `my_test_command help run_command`
end
end
end

执行此操作的正确方法是什么?

最佳答案

您可以使用 command_help显示命令的帮助信息:

require 'thor'

class Test < Thor
desc 'run_command --from=FROM', 'test usage help'
option :from
def run_command
unless options[:from]
Test.command_help(Thor::Base.shell.new, 'run_command')
return
end

puts "Called command from #{options[:from]}"
end
end

Test.start

然后不带任何选项运行:

$ ruby example.rb run_command
Usage:
example.rb run_command --from=FROM

Options:
[--from=FROM]

test usage help

并使用选项运行:

$ ruby example.rb run_command --from=somewhere
Called command from somewhere

关于ruby - 在 Ruby 的 Thor 上,如何显示应用程序中的命令用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46166799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com