2011年1月4日 星期二

超簡單的Squeak/Smalltalk語法

大家聽到Smalltalk程式語言,有資工背景的人第一個念頭可能是,那不就是教科書提到的那個只聞其名不知其實的元祖級純物件導向程式語言嗎?記得Jimmy的爸爸第一次看過Smalltalk程式,是在早期的BYTE雜誌一篇文章上,那時密密麻麻的程式碼對我猶如天書一般,但是基於對純物件導向語言的崇敬,那本雜誌供在Jimmy的爸爸的書桌上好久,記得還拿到課堂上跟老師瞎掰一番,當時認為這輩子大概不可能玩到它了,不過有緣者終將見面,為了將Scratch改裝成JNXT,Jimmy的爸爸不得不一把年紀了還撩下去掀開這阿祖級純物件導向程式的神秘面紗........

以下是語法的簡單例子

---------------------------------------------
aJNXT       小寫開頭為區域變數
Ajnxt       大寫開頭為全域變數
self        虛擬變數
---------------------------------------------
9           十進位整數
2r101       二進位整數
1.5         浮點數
2.4e7       指數
$j          字元
’JimmyScratchLab’  字串
#Hello      符號
#(1 2 3)    靜態陣列
{1. 2. 1+2} 動態陣列
---------------------------------------------
"a comment" 註解
---------------------------------------------
|x y|       宣告變數
x := 1      指定變數值
[x + y]     運算區塊
---------------------------------------------
3 factorial 一元訊息
3 + 5       二元訊息
2 raisedTo: 6 modulo: 10 關鍵字訊息
---------------------------------------------
^true       傳回值
Transcript show: ’hello’. Transcript cr. 表達式分隔符號 (.)
Transcript show: ’hello’; cr             訊息串連符號 (;)
(待續....)

沒有留言:

張貼留言