- 論壇徽章:
- 0
|
大家好,我的主要目標(biāo)是利用這個(gè)腳本語(yǔ)言實(shí)現(xiàn)一套HTPC平臺(tái)。所以目前的主要任務(wù)是編寫(xiě)明語(yǔ)言的SDL,libdbi,libxine庫(kù)。目前發(fā)布的第一版功能有限,文檔也較少,主要是想聽(tīng)取有興趣的同志的意見(jiàn),在語(yǔ)言中加入更有效的特性。
明語(yǔ)言的語(yǔ)法設(shè)計(jì)的主要思路是:
1. OOP,多重繼承,運(yùn)算符重載,這些和python,ruby比較像.
#多重繼承
class Child | Parent1, Parent2 {
#重載加法
function __add {
| this, arg1
...
}
}
2. 對(duì)閉包的支持.不同于javascript,嚴(yán)格區(qū)分函數(shù)和閉包.利用閉包實(shí)現(xiàn)各種常用迭代器.
#閉包迭代
$list.forEach {
| v
print(v)
}
3. 垃圾收集器進(jìn)行內(nèi)存管理.
4. 強(qiáng)化結(jié)構(gòu)化數(shù)據(jù)構(gòu)造功能,代替一般程序中用XML數(shù)據(jù)構(gòu)造,特別是針對(duì)復(fù)雜界面的構(gòu)造.
#構(gòu)造一個(gè)窗口
$mywin=Window().{
.title="Hello!"
.(x,y,w,h)=0,0,640,480
#加入按鈕OK
@Button().{
.caption="OK"
function on_press {
|this
print("OK\n")
$mywin.close()
}
}
#加入按鈕Cancel
@Button().{
.caption="Cancel"
function on_press {
|this
print("OK\n")
$mywin.close()
}
}
} |
|