Crystal最新發(fā)布v1.3.0語法相似Ruby編譯型編程語言
Crystal 的語法受到 Ruby 語言的啟發(fā),屬于編譯語言,具有靜態(tài)類型檢查功能,但一般不需要指定變量或方法參數(shù)的類型,可實(shí)現(xiàn)接近 C/C++ 的性能。它的類型由一個(gè)先進(jìn)的全局類型推理算法來解決。
最新發(fā)布的版本包含錯(cuò)誤修復(fù)和功能改進(jìn),涉及到編譯器、代碼生成、調(diào)試器、解析器、語義、語法、標(biāo)準(zhǔn)庫、加密、網(wǎng)絡(luò)、運(yùn)行時(shí)和語法宏等方面,詳情查看 release note。
部分亮點(diǎn)
系統(tǒng)調(diào)用(SYSCALLS)
添加了一個(gè)實(shí)驗(yàn)性 API 來創(chuàng)建原生系統(tǒng)調(diào)用 (#10777)。目前僅支持 Linux。這是支持 Linuxio_uring
接口以提高 IO 性能的第一步。
如需定義系統(tǒng)調(diào)用,請(qǐng)打開一個(gè)模塊并使用Syscall.def_syscall
宏。如以下示例所示,需要傳入系統(tǒng)調(diào)用名稱、返回類型及其參數(shù)。
require "syscall" module MySyscalls Syscall.def_syscall write, Int32, fd : Int32, buf : UInt8*, count : LibC::SizeT end data = "Hello!\n" MySyscalls.write(1, data.to_unsafe, LibC::SizeT.new(data.size))
支持 128 位字面量
通過改進(jìn)解析器,現(xiàn)在可以理解完整范圍內(nèi)的數(shù)字文字或 128 位整數(shù) (#11571)。到目前為止,僅在 64 位值的范圍內(nèi)支持 128 位文字。
1_i128 # Works in 1.2.2 and 1.3.0 170141183460469231731687303715884105727_i128 # Fails in 1.2.2, works in 1.3.0
1_.1 # Error: unexpected '_' in number -0u64 # Error: Invalid negative value -0 for UInt64 -0_u64 # Error: Invalid negative value -0 for UInt64 1__2 # Error: consecutive underscores in numbers aren't allowed 0x_2 # Error: unexpected '_' in number 0_12 # Error: octal constants should be prefixed with 0o 0e40 # => 0.0 0x # Error: numeric literal without digits
以上就是Crystal最新發(fā)布v1.3.0語法相似Ruby編譯型編程語言的詳細(xì)內(nèi)容,更多關(guān)于Crystal最新發(fā)布v1.3.0的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于最新IDEA2020.2.1,2.2,3以上破解,激活失效,重新激活的問題
今天很多朋友找小編說idea2020.2.3版本激活失效了,下面通過本文給大家分享了最新IDEA2020.2.1,2.2,2.3,idea.3以上破解,激活失效,重新激活的解決方法,需要的朋友參考下吧2020-10-10HttpGet請(qǐng)求與Post請(qǐng)求中參數(shù)亂碼原因剖析與解決方案
這篇文章主要介紹了HttpGet請(qǐng)求與Post請(qǐng)求中參數(shù)亂碼原因剖析,文中有相關(guān)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下2023-07-07MATLAB教程數(shù)據(jù)運(yùn)算變量操作及矩陣表示詳解
這篇文章主要介紹了MATLAB關(guān)于數(shù)據(jù)運(yùn)算變量操作及矩陣表示的內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進(jìn)步2021-09-09Blazor實(shí)現(xiàn)組件嵌套傳遞值的示例詳解
這篇文章主要為大家詳細(xì)介紹了Blazor實(shí)現(xiàn)組件嵌套傳遞值的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2023-02-02使用百度云加速后網(wǎng)站打開速度慢、廣告不顯示的解決方法
這篇文章主要介紹了使用百度云加速后網(wǎng)站打開速度慢、廣告不顯示的解決方法,需要的朋友可以參考下2015-09-09GCC?指令詳解及動(dòng)態(tài)庫、靜態(tài)庫的使用方法
GCC?是?Linux?下的編譯工具集,是「GNU?Compiler?Collection」的縮寫,包含?gcc、g++?等編譯器,這篇文章主要介紹了GCC?指令詳解及動(dòng)態(tài)庫、靜態(tài)庫的使用,需要的朋友可以參考下2022-10-10