Crystal編程實踐之(一):入門的正確姿勢

# 注:本博客從此文開始進入連載模式,如對本博客的話題感興趣 可以關注我。後期將有更多你感興趣的內容,均會以專題連載的形式呈現。考慮到各位訪客讀者多半使用手機,文章會盡量壓縮精簡,點到即止 #

Crystal是靜態編譯型編程語言並且沒有類似Java的虛擬機,用它編寫的代碼是直接以二進制文件的方式在系統本地運行的。所以,想要運行它所編寫的程序通常情況下需要跟C/C++一樣先編譯成二進制再執行。

但是,如果你喜歡以交互方式(如ipython/ruby之類的解釋型語言的命令行模式)使用Crystal的話, 你可以使用icr (github: crystal-community/icr) 。

安裝crystal和icr都非常簡單,請參考各自的項目官網。 Icr依賴crystal ,所以必須在安裝完crystal之後安裝。安裝完之後在命令行執行 icr , 效果如下:

Crystal編程實踐之(一):入門的正確姿勢

icr交互界面

接下來你就可以在些做一些交互式的操作了。輸入 puts “hi” ,體驗一下。

編寫第一個crystal程序”Hello crystal”

按下Ctrl+c回到shell 命令行, 創建一個叫hello.cr的文件 ,內容為 puts “hello crystal” , 如下圖

Crystal編程實踐之(一):入門的正確姿勢

編寫第一個程序

此時可以執行一下程序,看下效果。使用crystal hello.cr 或crystal run hello.cr都可以。

Crystal編程實踐之(一):入門的正確姿勢

執行.cr源文件

現在,進行編譯,crystal build hello.cr --release

編譯完後查看目錄中多出一個可執行的二進制文件 hello,執行之。

Crystal編程實踐之(一):入門的正確姿勢

執行二進制文件

這個小例子只用了一行代碼,編寫出了一個同C語言等效性能的程序。是不是集簡潔與高效率於一身呢?

說明一下,生產環境打包請一定帶上 --release參數 crystal會關閉debug信息,提升程序執行效率。

--link-flags -static表示採用靜態編譯,生成的二進制包將打包自帶所有的依賴庫,從而對外部庫不會有任何依賴 可以做到隨便丟哪臺機器上都可以直接運行。如果不加,則程序默認依賴外部動態鏈接庫, 我們看一下依賴:

Crystal編程實踐之(一):入門的正確姿勢

二進制文件依賴的庫

Crystal指令的參數和用法還有很多包括交叉編譯等等 使用起來都很簡單,有興趣請--help自行參考

本文到此結束,下節將濃縮的講一下crystal語法,敬請關注。


分享到:


相關文章: