如何在terminal / irb中运行此方法并测试不同的参数?
def add(*numbers)
numbers.inject(0) { |sum, number| sum + number }
end
即尝试参数4& 6我会想到这样的事情:
ruby add_method.rb 4,6
或ruby add_method.rb(4,6)
但无法找到/找出确切的执行代码以使其正常工作。当我运行那些时,我得到的只是一个新的提示。
答案 0 :(得分:1)
将以下代码放入 add.rb :
文件中def add(numbers)
numbers.inject(0) { |sum, number| sum + number.to_i }
end
puts add(ARGV)
现在以
运行ruby add.rb 1 2 3
您将获得输出 - 6
。
了解ARGF
-
ARGF
是一个设计用于脚本的流,用于处理作为命令行参数提供的文件或通过STDIN
传入的文件....
答案 1 :(得分:1)
将其保存为如下文件:
def add(*numbers)
numbers.inject(0) { |sum, number| sum + number }
end
result = add(*ARGV.map(&:to_i))
puts result
然后像ruby add_method.rb 4 6
一样运行。