1.用于方法参数
参数 | 描述 |
&形参 | 将块转换为 Proc 对象的 proc 方式。 |
&实参 | 将任何实现了 to_proc() 方法的对象转换为块。 |
# &形参
def f(&b)
b.call(1)
end
f() {|x| puts x } # 1
# &实参
def f(b)
(1..3).each(&b)
end
p = proc {|x| puts x }
f(p) # 1 2 3
2.用于安全导航(Safe Navigation)运算符
&.
被称为安全导航运算符。
运算符 | 描述 |
o&.f() | 如果接收者 o 为 nil ,则不调用方法 f 并返回 nil ,否则 o&.f() 的结果与 o.f() 的结果相同。 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/rubyexp/37523.html