Pager 2第 2 頁 | Kobako 系列 | 弦而時習之 跳至主要內容

Kobako 系列

蒼時弦也蒼時弦也

Kobako:為什麼要有 Filesystem 原生支援

最近 Kobako 更新到 v0.28.0 後,改善了原本對 MessagePack 高度依賴的設計,這是從八月 COSCUP 結束後的第一個大改版。

然而,當我們要迎接明年(2027 年)的 AI 應用時,在 Ruby 生態系還缺少怎樣的能力,我認為答案再次回到四月份我在日本 RubyKaigi 和朋友分享的「虛擬檔案系統(Virtual Filesystem)」上,因此 Kobako 也即將支援這個特性。

蒼時弦也蒼時弦也

Kobako:讓 Block 可以穿透沙盒

Kobako:Handle 機制對許多支援腳本語言的專案並不算太特殊的機制,但是 Block 概念算是 Ruby 語言特有的能力,如果使用沙盒(Sandbox)時無法善用,那就太可惜。

然而,像這樣的寫法真的做得到嗎?

1sandbox.bind("Seq::Map", ->(items, &blk) { items.map(&blk) })
2sandbox.eval("Seq::Map.call([1, 2, 3]) { |x| x * 2 }").value
3
4# => [2, 4, 6]

我們竟然可以在沙盒裡面用一個 Block 接收外部的呼叫。