欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Crystal最新發(fā)布v1.3.0語法相似Ruby編譯型編程語言

 更新時(shí)間:2022年01月24日 10:53:10   作者:局長(zhǎng)  
Crystal?是一種通用的、面向?qū)ο蟮木幊陶Z言,由?Ary?Borenszweig、Juan?Wajnerman、Brian?Cardiff?和?300?多名貢獻(xiàn)者設(shè)計(jì)開發(fā)

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

詳細(xì)更新說明點(diǎn)此查看。

以上就是Crystal最新發(fā)布v1.3.0語法相似Ruby編譯型編程語言的詳細(xì)內(nèi)容,更多關(guān)于Crystal最新發(fā)布v1.3.0的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論