Crystal是一個開源的、類似于Ruby語法的編程語言,其特性如下:
類似于Ruby的語法;
支持靜態(tài)類型檢查,但無需指定變量類型或方法參數(shù);
可在Crystal內通過代碼綁定調用C代碼;
在編譯時進行代碼評估和生成,避免了公式化的代碼;
編譯后的代碼是高效的本地碼。
Crystal語法:Hello World
在Crytal中經典的Hello World程序代碼是:

采用面向對象思路的寫法是:
采用塊思路的寫法是:

盡管不同寫法得出的程序性能各有差異,但幸好這些寫法都是具表達力的。要運行Hellow World程序,請先安裝好相關程序。
然后把Crystal代碼保存為hello.cr文件,啟動控制臺后鍵入以下命令:

Crystal特性綜述
高效代碼生成
Crystal是非解釋型語言,沒有虛擬機,由LLVM編譯為機器代碼。你不必指定變量類型,實例變量或方法參數(shù),與靜態(tài)編譯語言類似;Crytal可自行判斷該采用什么類型。
多類型變量
可以不指定變量類型。如果變量被指派了多種類型,在編譯時變量類型是包括所有類型的。在運行時時變量類型才是的。

可以通過a.is_a?或a.responds_to?來檢查類型。


方法
在Crystal中,方法是可以重載的,重載依據(jù)是參數(shù)個數(shù),類型限制及方法的使用與否。

進行C綁定
可在Crystal中進行C代碼綁定,例如以下的SDL綁定:

未來特性展望
提供高效的,并行的垃圾回收器;
提供類似于Erlang和Go的并發(fā)原生處理功能;
更好的元編程方式;
提供結構體類型,除了進行C代碼綁定,還能編寫更有效的封裝代碼和更少的內存占用;
元組,命名元組和參數(shù)。
Hacker News上開發(fā)者對Crystal的精彩評論:
Habosa:我對一個有如此良好文檔支持的新語言所深深震撼了,其技術博客有很多完整的里程碑式文章。
Arikrak:與Ruby如此相似的目的是什么呢?難道是能夠直接運行Rails?我對此充滿期待。
SomeCallMeTim:它真的酷斃了!如果能夠在Windows平臺上能夠更高效地運行例如C/Go,就更加完美了。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業(yè)目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯(lián)系我們,我們將根據(jù)著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。