當你來自更類似C語法的語法世界時,可以發現Smalltalk語法(和功能)非常奇特(甚至令人不安)。我發現自己失去了一些時間
我會有興趣學習知道你發現真正異國情調,而不是比較經典/主流語言,並且你認爲有助於理解語言。Smalltalk奇特功能
例如,評價與邏輯運算符:
(object1 = object2) & (object3 = object4)
:這將評估整個表達式,即使左部分是假的,其餘的將被評估。(object1 = object2) and: [object3 = object4]
:這將評估左側部分,並且只有在第一個爲真時評估正確部分。
這是什麼異國情調?根據發送消息來思考。你在一個充滿人的房間裏,我也是;我想問你一個問題,所以我張開嘴,開始說話。你收到這些話,並作出相應的反應。要麼忽視它們,要麼迴應它們,要麼表達一些身體表達來傳達迴應。當你停下來思考它的目的是什麼時,它實際上比基礎更具基礎性。 – jer 2010-06-26 18:56:55
正如我所說的,當我說「異國情調」時,它的意思是「與經典/主流C/Java類語言相比」。我同意發送消息使得SmallTalk比其他語言更接近人類思維,但我們(程序員,或者至少我)格式化爲在C世界中思考。這只是我的觀點。 – 2010-06-26 19:06:34
從Delphi背景來看,我習慣了基於編譯器開關的布爾表達式,這些布爾表達式可能會或可能不會以任何方式進行評估!關於&和'and'的 – 2010-06-26 19:34:28