亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Ruby中,x=(或-等于)意味著什么?

在Ruby中,x=(或-等于)意味著什么?

慕工程0101907 2019-06-10 17:06:54
在Ruby中,x=(或-等于)意味著什么?下面的代碼在Ruby中意味著什么?||=它是否有任何意義或理由的語法?
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

這個問題在Ruby郵件列表和Ruby博客上經常被討論,以至于現在甚至在Ruby郵件列表上都有線程,其唯一目的是收集鏈接到所有其他線程在Ruby郵件列表上討論這個問題。

這里有一個:\x=(OR相等)線程和頁的最終列表

如果你真的想知道發生了什么,看看11.4.2.3節的“簡寫作業”Ruby語言草案規范.

作為第一次近似,

a ||= b

等于

a || a = b

相當于

a = a || b

然而,這只是第一個近似,特別是在a是個未知數。語義也因是簡單變量賦值、方法賦值還是索引賦值而有所不同:

a    ||= b
a.c  ||= b
a[c] ||= b

都受到不同的對待。


查看完整回答
反對 回復 2019-06-10
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

簡明完整的答案

a ||= b

評估方法與以下幾行

a || a = b
a ? a : a = bif a then a else a = b end

-

另一方面,

a = a || b

評估方法與以下幾行

a = a ? a : bif a then a = a else a = b end

-

編輯:正如AJedi32在評論中指出的那樣,這只有在以下情況下才成立。A是一個已定義的變量。2.評估一次和兩次并不會導致程序或系統狀態的差異。


查看完整回答
反對 回復 2019-06-10
  • 3 回答
  • 0 關注
  • 623 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號