action&.!=:click
有人請向我解釋這是什麼意思,在紅寶石和我可以得到一些解釋?我試圖尋找紅寶石的文件,但這樣的「鏈接」運營商在Ruby中,&。!=是什麼意思?
:click
沒有運氣符號
!=
不等於
,但我不知道有關&.
action&.!=:click
有人請向我解釋這是什麼意思,在紅寶石和我可以得到一些解釋?我試圖尋找紅寶石的文件,但這樣的「鏈接」運營商在Ruby中,&。!=是什麼意思?
:click
沒有運氣符號
!=
不等於
,但我不知道有關&.
什麼樣子像中間的一個運營商(&.!=
)實際上是1個運營商和1個方法呼叫:&.
後面跟着!=
與:click
作爲參數:
action &. != :click
它檢查是否action
不是nil
但:click
不同:
action = nil
action&.!=:click
# => nil
action = :not_click
action&.!=:click
# => true
action = :click
action&.!=:click
# => false
action = false
action&.!=:click
# => true
這是在我的愚見使用&.
虐待方式。 &.
被稱爲「安全導航操作符」,因爲它阻止您調用nil
對象上未定義的方法。
!=
是爲任何對象定義的,所以在!=
之前使用&.
沒有什麼安全的。
你可以寫:
!(action.nil? || action == :click)
或
!action.nil? && action != :click
甚至:
![nil, :click].include?(action)
等等,你的答案是怎麼回事通過dup關閉? –
您是否開始編寫它_before_我關閉了它? –
「實際上是2個操作符」 - _actually_它是一個操作符和一個方法調用:)如果我們將&&作爲操作符,那就是。 –
https://aaronlasseigne.com/2016/01/04/rubys-new-安全導航不等於運營商/ –
這是一個可怕的方式來寫'行動&&行動!=:點擊' –