Ruby语言的&运算符

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

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年5月13日 22:00
下一篇 2025年5月14日 00:30

相关推荐

发表回复

登录后才能评论