0
我有需要的字符串选项包含空格的方法:如何接受字符串的方法选择空白
desc 'events', 'List events'
method_option :since, :desc => 'Show events since', :default => "2 years ago"
def events
# ...
end
但似乎这些参数是天真地劈在空格,让我得到这个错误:
$ example events --since="1 hour ago"
ERROR: "example events" was called with arguments ["hour", "ago"]
Usage: "example events"
如果我将类型更改为数组,我可以让它接受完整值,但这不完全是我所追求的。
任何意见,将不胜感激。
编辑
@mrlew的回答证实了我的错误是不是雷神问题,它让我回去查我的假设。我使用的是Thor CLI而不是Thor模块,在我的封装脚本中,我不是handling args correctly。我只需要用双引号包装${@}
,如下所示,现在一切正常。
#!/usr/bin/env bash
ruby -Ilib ./exe/example "${@}"
感谢@mrlew :)