Ruby 编程:参数处理、方法调用与对象操作技巧
1. 接受或传递可变数量的参数
1.1 问题描述
在编写方法时,有时需要接受任意数量的参数,或者将数组的内容作为参数传递给方法,而非将数组本身作为单个参数传递。
1.2 解决方案
- 接受可变数量的参数 :在方法定义中,给最后一个参数名前加上星号(
*)。调用方法时,所有“额外”的参数将被收集到一个列表中,并作为该参数传递。示例代码如下:
def sum(*numbers)
puts "I'm about to sum the array #{numbers.inspect}"
numbers.inject(0) { |sum, x| sum += x }
end
sum(1, 2, 10)
# I'm about to sum the array [1, 2, 10]
# => 13
sum(2, -2, 2, -2, 2, -2, 2, -2, 2)
# I'm about to sum the array [2, -2, 2, -2, 2, -2, 2, -2, 2]
# => 2
sum
# I'm about to sum the array []
# => 0
- 传递数组作为参数 :在数组前加上星号(
*),将数组内容作为“额外”参数传递给方法。示例代码如下:
超级会员免费看
订阅专栏 解锁全文
447

被折叠的 条评论
为什么被折叠?



