crystal-lang - 编译程序所需的参数?

标签 crystal-lang

有什么方法可以为 Crystal 程序提供所需的参数吗? 例如

./myprog ~/Music -r

而不是

./myprog -d ~/Music -r

所以如果没有 [directory] ​​参数,我的程序将不会运行。现在使用“option_parser”并且只能执行 -arguments。

最佳答案

无法使用 option_parser 创建所需的参数,但您可以解析参数并抛出错误,或者在没有传递您期望的参数时退出:

require "option_parser"

directory = nil

parser = OptionParser.new
parser.on("-d DIR", "Directory [required]") do |d|
  directory = d
end
parser.parse ARGV

if directory.nil?
  # directory argument was not set
  # print help and exit
  puts parser
  exit 1
else
  # ...
end

关于crystal-lang - 编译程序所需的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47869402/

相关文章:

type-conversion - 如何在 Crystal 中将字符串转换为整数或 float ?

database - Crystal - 类破坏方法

crystal-lang - 相当于 Crystal 中的 ruby `block_given?`

eval - 如何从 Crystal 中的字符串变量执行代码?

arrays - 将数组连接到字符串的惯用方法是什么?

crystal-lang - Nil check in `||` , `!a || a.method` 不能用多个变量完成

crystal-lang - 是否有可能获得损坏的符号链接(symbolic link)的解析路径?

crystal-lang - JSON::Any 和 JSON::Type 在 Crystal 中有什么区别?

crystal-lang - Crystal 模块路径要求问题

crystal-lang - 如何在 Crystal 中创建带有可变参数的 Procs?