Ruby参数传递问题

时间:2015-01-15 12:38:14

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-3.1

在下面的代码中,当我运行它需要三个参数但第三个参数应该只采用字符串,它应该采取EIT,TC,pay。如果没有正确地给出那些特定的单词,那么它应该提示使用EIT,PC,Pay。

fail "3 arguments required, #{ARGV.length} provided" unless ARGV.length == 3
fail "Not correct current ruild, #{ARGV[0]} provided" unless ARGV[0] =~ /^[0-9]{2}.0.[0-9]{2}.[0-9]{3}/
fail "Not correct next build, #{ARGV[1]} provided" unless ARGV[1] =~ /^[0-9]{2}.0.[0-9]{2}.[0-9]{3}/

ARGV [3] = {EIT,TC,pay} - 当我运行它时,它显示错误语法错误,意外',',期待

1 个答案:

答案 0 :(得分:1)

fail 'blah' unless %w(EIT PC Pay).include? ARGV[2]

请注意,该方法为.include?而非.includes。值得在Array和Enumerable的所有方法上查看ruby文档并熟悉它们。玩得开心!