|=今日初めて見たので、それがどのように機能し、いつ役立つかを理解しようとしています.
いくつかの実験は次のことを示しています。
var |= nil
# => false
var |= false
# => false
var |= true
# => true
var |= 1
# => true
var |= nil
# => true
var |= false
# => true
var
# => true
Github の html-pipeline gem にあります。
def link_to_mentioned_user(login)
result[:mentioned_usernames] |= [login]
url = File.join(base_url, login)
"<a href='#{url}' class='user-mention'>" +
"@#{login}" +
"</a>"
end
|=で保護された割り当てのように機能すると想定してい||=ますが、ブール値に割り当てられる式の戻り値をキャストします。varこれは、が偽または未定義である
限り、式が評価され、ブール値にキャストされた戻り値が割り当てられることを意味します。var |= some_truthy_expressionが呼び出されるとすぐにvarになりtrue、さらに を呼び出すとvar |= expression_will_not_be_called、式は評価されません。
|=そのように動作しますか? Ruby ドキュメントのどこで見つけることができますか?- いつ
|=便利になりますか?