gpt4 book ai didi

ruby - 使用 Thor,我可以只向 CLI 传递一个参数(而不是任务)并将其发送到默认方法/任务吗?

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

我正在使用 Thor 为我正在制作的 Ruby gem 创建 CLI。理想情况下,可执行文件会采用类似 myapp path/to/file 的命令,从某种意义上说,我希望用户不必定义任务,只需定义一个参数。

我查看了 API 但 default_task仅在不存在任务/参数时有效。

如何让 Thor 将这个可变文件参数发送到默认方法/任务,而不是将其解释为不存在的任务?

最佳答案

我的应用程序路径/到/文件

两部分答案:

1) myapp ...要使用“thor”以外的可执行文件,您需要使用“thor/runner”库。

2) path/to/file可以在initialize方法中完成,像这样:

class Something < Thor
def initialize(*args)
super
case @path
when /something$/; self.class.new([@path],options).do_run
end
end

desc 'do_run', "do something"
argument :path, :banner=>"path/to/file", :optional=>true
def do_run
# something
end
end

关于ruby - 使用 Thor,我可以只向 CLI 传递一个参数(而不是任务)并将其发送到默认方法/任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4635508/

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