1

可能是愚蠢的问题

我有一些代码:

if ARGV.empty?
  ModuleName
else
  #Awesome Code Here
end

但无论如何,ModuleName 模块总是被评估。有什么我想念的吗?

4

2 回答 2

1

我认为该模块实际上是在您需要它时进行评估的,而不是因为ModuleName到达该行。

例子:

在 foo.rb 文件中:

class Foo
   puts "foo"
end

然后在irb中:

1.8.7 :001 > require 'foo'
foo
 => true 
于 2013-02-17T01:46:57.810 回答
0

我不确定,但你可以测试你的脚本得到的参数,如下所示:

until ARGV.empty? do
  puts "Argument: '#{ARGV.shift}'"
end

也许您实际上是在传递一些参数?

于 2013-02-17T01:20:40.013 回答