使用参数在终端中运行ruby脚本

时间:2014-07-27 19:00:46

标签: ruby

如何在terminal / irb中运行此方法并测试不同的参数?

def add(*numbers)
  numbers.inject(0) { |sum, number| sum + number }
end

即尝试参数4& 6我会想到这样的事情: ruby add_method.rb 4,6ruby add_method.rb(4,6) 但无法找到/找出确切的执行代码以使其正常工作。当我运行那些时,我得到的只是一个新的提示。

2 个答案:

答案 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一样运行。