程式語言Ruby釋出了最新2.7.0版本,這個版本除了改進效能之外,也新增一些新功能,包括模式比對(Pattern Matching)方便開發者處理資料,同時也改善REPL開發體驗,並加入壓縮垃圾回收(Compaction GC)方法,提高記憶體使用效率。而這也是Ruby最後一個2.x版本,明年Ruby將會直上3.0。

模式比對被廣泛應用在函式程式開發語言中,可用來檢查資料是否具有特定的模式,當資料符合用來比對的模式時,便可進行相對應的動作。現在於Ruby中,開發者可以使用case/in來進行模式比對,而且可檢查物件結構,還支援雜湊。官方提到,這個功能在處理JSON資料的時候特別有用,使用模式比對語法case/in,比沒有使用的程式碼還要簡潔許多。目前這個功能仍在實驗階段。

Ruby 2.7.0還使REPL(Read-Eval-Print-Loop)開發體驗更加方便,Ruby綑綁的互動環境irb現在支援多行編輯,而這是使用與readline相容的函式庫reline開發而成。另外,irb也整合了rdoc,現在可以顯示給定類別、模組或是方法的參照。

另外,新版本也加入了新的垃圾回收方法,這個稱為壓縮垃圾回收的功能,會對碎片化的記憶體空間進行整理,官方提到,部分多執行緒的Ruby應用程式可能會使得記憶體碎片化,導致高記憶體使用率且速度降低等問題發生。Ruby 2.7.0加入GC.compact方法,開發者可用來壓縮堆(Heap),這個函式會壓縮堆中活動的物件,以減少分頁使用,提高複製寫入效率。


Advertisement

更多 iThome相關內容