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