第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么Ruby不支持i ++或i--(遞增/遞減運(yùn)算符)?

為什么Ruby不支持i ++或i--(遞增/遞減運(yùn)算符)?

紅糖糍粑 2019-07-26 17:13:43
為什么Ruby不支持i ++或i--(遞增/遞減運(yùn)算符)?前/后遞增/遞減運(yùn)算符(++和--)是非常標(biāo)準(zhǔn)的編程語(yǔ)言語(yǔ)法(至少對(duì)于過(guò)程語(yǔ)言和面向?qū)ο笳Z(yǔ)言)。為什么Ruby不支持它們?我知道你可以用+=和完成同樣的事情-=,但是排除這樣的東西似乎有點(diǎn)奇怪,特別是因?yàn)樗侨绱撕?jiǎn)潔和傳統(tǒng)。例:i = 0    #=> 0i += 1   #=> 1i        #=> 1i++      #=> expect 2, but as far as I can tell,           #=> irb ignores the second + and waits for a second number to add to i我理解Fixnum是不可改變的,但如果+=能夠?qū)崿F(xiàn)一個(gè)新的Fixnum并設(shè)置它,為什么不這樣做++呢?包含=角色的作業(yè)的一致性是唯一的原因,還是我錯(cuò)過(guò)了什么?
查看完整描述

3 回答

?
開(kāi)滿(mǎn)天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

一個(gè)原因是到目前為止,每個(gè)賦值運(yùn)算符(即更改變量的運(yùn)算符)都包含=在其中。如果添加++--,那情況就不一樣了。

另一個(gè)原因是人們的行為++--經(jīng)?;煜?code>i++例證:你的例子中的返回值實(shí)際上是1,而不是2(i然而,新值將是2)。


查看完整回答
反對(duì) 回復(fù) 2019-07-26
?
蠱毒傳說(shuō)

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

它在OO語(yǔ)言中并不常見(jiàn)。事實(shí)上,++Smalltalk中沒(méi)有這種語(yǔ)言,它創(chuàng)造了“面向?qū)ο缶幊獭边@一術(shù)語(yǔ)(而Ruby語(yǔ)言受其影響最大)。你的意思是它在C語(yǔ)言和傳統(tǒng)語(yǔ)言中非常模仿C.Ruby確實(shí)有一種類(lèi)似C語(yǔ)言的語(yǔ)法,但它并不是堅(jiān)持C語(yǔ)言傳統(tǒng)的奴隸。

至于為什么它不在Ruby中:Matz不想要它。這才是真正的終極原因。

Smalltalk中沒(méi)有這樣的東西的原因是因?yàn)樗钦Z(yǔ)言最重要的哲學(xué)的一部分,分配變量從根本上講是一種不同于向?qū)ο蟀l(fā)送消息的東西 - 它在不同的層面上。這種想法可能影響了Matz設(shè)計(jì)Ruby。

將它包含在Ruby中并不是不可能的 - 您可以輕松編寫(xiě)一個(gè)將所有內(nèi)容++轉(zhuǎn)換為的預(yù)處理器+=1。但顯然Matz并不喜歡操作員做過(guò)“隱藏任務(wù)”的想法。擁有一個(gè)隱藏整數(shù)操作數(shù)的運(yùn)算符也似乎有點(diǎn)奇怪。該語(yǔ)言中沒(méi)有其他運(yùn)算符以這種方式工作。


查看完整回答
反對(duì) 回復(fù) 2019-07-26
  • 3 回答
  • 0 關(guān)注
  • 1004 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)