Ruby 什么是&;=用红宝石是什么意思?

Ruby 什么是&;=用红宝石是什么意思?,ruby,Ruby,有人能给我解释一下这个在ruby中的意思吗?我在哪里可以得到一些解释?我尝试搜索ruby文档,但这种“链接”操作符没有成功 :单击是符号 =不相等 但是我不知道代码> &代码> < /p> < p>中间看起来像一个运算符(和!= < /代码>)实际上是1个操作符和1个方法调用:后面跟着:点击< /代码>作为参数: action&.!=:click 它检查action是否不是nil,而是与不同:单击: action &. != :click 以我的拙见,这是一种滥用&.的方式&

有人能给我解释一下这个在ruby中的意思吗?我在哪里可以得到一些解释?我尝试搜索ruby文档,但这种“链接”操作符没有成功

:单击
是符号

=不相等


<>但是我不知道代码> &代码> < /p> < p>中间看起来像一个运算符(<代码>和!= < /代码>)实际上是1个操作符和1个方法调用:后面跟着<代码>:点击< /代码>作为参数:

action&.!=:click
它检查
action
是否不是
nil
,而是与
不同:单击

action &. != :click
以我的拙见,这是一种滥用
&.
的方式
&。
被称为“安全导航操作符”,因为它阻止您对
nil
对象调用未定义的方法

=是为任何对象定义的,因此在
之前使用
&.
是不安全的=

你可以写:

action = nil
action&.!=:click
# => nil

action = :not_click
action&.!=:click
# => true

action = :click
action&.!=:click
# => false

action = false
action&.!=:click
# => true

甚至:

!action.nil? && action != :click

这是一种糟糕的编写
action&&action!=:单击
Wait,您的答案是如何通过dup关闭的?在我关闭它之前您是否开始编写它?“实际上是两个运算符”-实际上是一个运算符和一个方法调用:)如果我们将
&.
计算为运算符,也就是说。
!action.nil? && action != :click
![nil, :click].include?(action)