這個問題在這里已經有了答案: & 是什么意思。(& 點)在 Ruby 中是什么意思? (6 個回答) 1 小時前關閉。
我是 Ruby on rails 的新手,我看到了這種代碼,但我不明白:
class TestSerializer < ApplicationSerializer
attributes :id, :date
def date
self.object&.date&.strftime("%m/%d/%Y")
end
end
這是什么self.object&.date,我在任何檔案中都找到了這個?
uj5u.com熱心網友回復:
&.被稱為安全導航運算子,在 ruby?? 2.3 中引入,它的作業方式類似于try!方法,如果物件為 nil,則回傳 nil,否則回傳物件的屬性值。
2.6.6 :017 > object = OpenStruct.new(a: 1)
=> #<OpenStruct a=1>
2.6.6 :018 > object&.a
=> 1
2.6.6 :019 > object = nil
=> nil
2.6.6 :020 > object&.a
=> nil
2.6.6 :021 > object.a
Traceback (most recent call last):
1: from (irb):21
NoMethodError (undefined method `a' for nil:NilClass)
2.6.6 :022 >
您可以在上面的示例中看到我們a在使用和不使用&.運算子時呼叫物件時的區別。
有關詳細資訊,請參閱SO answer。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471092.html
上一篇:更改回圈中單個元素的樣式
下一篇:如何查詢JSONB列
