遇到这样一个练习,跟大家一起学习一下。
- 定义方法
sum
,它接受一个整数数组作为参数,并返回该数组所有元素的和。对于空数组它应该返回0。
看起来很简单,我的想法是这个整数数组是读取命令行获得的。我们知道Ruby中预定义了两个从命令行获取参数的常量,ARGV和ARGF。 其中,ARGV表示命令行参数数组;ARGF表示从标准输入得到的虚拟文件对象。在这里用ARGV更合适一些,但是ARGV得到的是字符串,所以在对其进行加总计算的时候,就需要转换成数字形式。我的代码是这样的:
def sum(a)
total = 0
a.each do |i|
total += i.to_s.to_i
end
p total
end
sum(ARGV)
也许您用一行代码就实现上面的功能了,欢迎指教。