2012-04-05 21 views
2

我正在通過一個Ruby教程,我無法掌握+ =語句。 Google沒有幫助,「Ruby + =」只搜索「Ruby」。Ruby中的「+ =」(加上等於)意味着什麼?

幫助表示讚賞。

樣品:

num = -10 
num += -1 if num < 0 
puts num 
#=> -11 
+0

'a + = 1'與'a = a + 1'相同 '+ ='只是一個簡短的形式。 – 2012-04-05 04:06:43

+2

我假設條件,代碼應該像(英文)文字一樣從左到右和向下閱讀。 Perl :-) – paxdiablo 2012-04-05 04:09:30

+0

(嘗試一個教程,無論如何,關鍵字是「操作員」,其中有一個有限集合,並且規則已被很好地覆蓋)。 – 2012-04-05 04:24:22

回答

4
num += -1 

num = num + -1 

的等效或,對於本例

num = num - 1 

,反過來,可以寫爲

num -= 1 
+0

還請注意,幾乎所有的操作符都可以與'=':'&& =','|| =','&=','| =','* =','/ ='等結合使用。請參閱[Pickaxe]中的「賦值」(http://phrogz.net/programmingruby/language.html#table_18.4)。 – 2012-04-05 05:01:20

0

它一次做兩件事。

(1)它增加了+ 1爲num (2)分配回結果爲num

及其快捷方式,用於:

num = num + 1

0

a += b僅僅是短形式a = a + b。所以,你的語句:

num += -1 if num < 0 

只會減去一個(加入-1這是......古樸,這可能是有禮貌,因爲我可以)從num如果它已經是負的(如果num < 0)..