11原文作者:** [ @itsZero ] ( https://github.com/itszero ) **
22
3- BBSRuby 版本 v0.3-DlPatch-1 , API Interface: v0.111
3+ BBSRuby 版本 v0.3-DL-2 , API Interface: v0.111
44
55Source Code下載:http://orez.us/~zero/BBSRuby.c
66
@@ -14,7 +14,7 @@ Source Code下載:http://orez.us/~zero/BBSRuby.c
1414
1515## 已知問題
1616
17- 1 . Ruby 全域變數/物件不會重設
17+ 1 . 在 CRuby 下, Ruby 全域變數/物件不會重設
1818
1919## 修改記錄
2020
@@ -61,6 +61,26 @@ v0.3-DlPatch-1
6161 5 . 將 C API 函數名稱改為以 ` brb_ ` 開頭
6262 6 . 其他程式碼重構/細節修正
6363
64+ v0.3-DL-2
65+ * API 變更
66+ 1 . 重新定義全域物件 ` BBS ` 為 Ruby module 而非 Ruby class
67+ * 問題修正
68+ 1 . 修正執行 BBS-Ruby 時沒有真的清除螢幕的問題
69+ 2 . 避免 BBS-Ruby 執行失敗時印出的錯誤訊息可能與背景同色而隱形的問題
70+ 3 . 解決 Ruby 全域變數/物件不會重設的問題 (需要 mruby)
71+ * 功能改進
72+ 1 . 增加對 mruby 的支援,解決 Ruby 全域變數/物件不會重設的問題
73+ 2 . 使用白名單控制 Ruby gem library 的載入 (需要 mruby)
74+ * 程式改進
75+ 1 . 強化程式碼的 const correctness
76+ 2 . 讓程式碼符合 ISO C++98 標準,支援使用 C++ 編譯器編譯
77+ 3 . 用型別安全的 ` rb_funcallv() ` 取代 ` rb_funcall() ` 的使用
78+ 4 . 將接受任意數量參數的 C API 函數改寫成接受 C array 而非 Ruby array
79+ 5 . 其他程式碼重構/細節修正
80+ * 其他
81+ 1 . 不再設定 signal handler
82+ 2 . 避免在 Ruby interpreter 初始化前印錯誤訊息
83+
6484## 如何撰寫
6585
6686BBSRuby大致上與BBSLua相容,不過依然有一些變動。\
@@ -156,14 +176,17 @@ _`bbs.getmaxyx()`_ |傳回目前螢幕大小 `(my,mx)`, 實際可移動
156176 ------------------------ | ----------------------------------------------
157177~~ ` bbs.time() ` ~~ |現在時間 (以數字表示),精準度到秒 (處理速度較快)
158178~~ ` bbs.now() ` ~~ |同 ` time() `
159- | 請使用 Ruby 內建的 ` Time.now `
179+ | 在 CRuby 下,請使用內建的 ` Time.now `
180+ | 在 mruby 下暫不支援
160181 |
161182~~ ` bbs.ctime() ` ~~ |現在時間 (以字串表示)
162- | 請使用 Ruby 內建的 ` Time.now.to_s `
183+ | 在 CRuby 下,請使用內建的 ` Time.now.to_s `
184+ | 在 mruby 下暫不支援
163185 |
164186` bbs.clock() ` |高精準度的時間 (可到秒的小數點以下但速度較慢)
165187~~ ` bbs.sleep(sec) ` ~~ |停止執行 ` sec ` 秒 (可到小數點以下)
166- | 請使用 Ruby 內建的 ` sleep ` 。
188+ | 在 CRuby 下,請使用內建的 ` sleep `
189+ | 在 mruby 下暫不支援
167190
168191BBS 資訊 ||
169192 ------------------------ | ------------------
0 commit comments