2007/07/06

讀完 Ruby Programming

Ruby Programming的圖像終於讀完這本書了,Ruby 的入門書籍,寫的不錯。如果想學習 Ruby 的人可以考慮看看,不過建議是看久一點細細回味比較好。當然這本書不可能在你寫程式時能給你多大幫助,因為他不是工具書而是入門書,一些初級的東西裡面都有介紹,比較進階一點的東西也有稍微提到,但是不要期望大大,入門後還是自己多 K 其他書或是手冊來補充吧,光靠這本是不夠的。

基本上我是因為 JRuby 才會重新再接觸 Ruby 的。一開始接觸 Ruby 是想玩看看 Ruby on Rails (RoR),不過怎麼搞也搞不懂他的奧妙機制,加上對 Ruby 語法也一竅不通,雖然看了一本 RoR 的建置手冊書,不過幾乎是沒什麼用。

直到看到用 Java 平台運行的 JRuby 後,發現他能用另一套我還算行的語言 Java 函式庫作更多事情,也就是說我能用現有的東西來學習,還不錯。例如在 Ruby 內使用 JFrame 或 JOptionPane 作 GUI,降低接觸難度。而 Ruby 的簡單強大來操作這些函式庫真是十分好用。

大致上懂了基本的 Ruby 後,我覺得這語言的特性 (當然這不一定是 Ruby 原創,只是我覺得比較特殊的):
  1. 萬物皆物件
  2. 物件方法直覺
  3. 迭代器 (Iterator) 多
  4. 特殊的區塊執行 (Block) 和 yield 方法
  5. 變數的命名方式即變數的範圍 (@, $, @@ 等)
  6. attr_accessor
  7. 標籤 (:label)
  8. 可自由 Overwrite 定義方法
  9. 直覺的運算子定義 ([]=, +, - 等)
  10. 所有敘述都有運算結果且方法內最後的敘述之運算結果可充當回傳值 (即可省去 return)

如果以簡單又方便的 Ruby 去使用 Java 眾多強大的函式庫功能 (別忘了 Ruby 本身也有不少函式庫),那真是前途無量,這正是我對 JRuby 感興趣的原因。至於 RoR 嘛,等到時機到了自然就會接觸啦 (苦笑)

---

最近在玩 HOOK 的最新作 HoneyComing (http://www.hook-net.jp/honeycoming/),發現裡面的系統賣點 Only One 模式竟然是綁定的 (也就是說,只能選擇一次攻略對象,之後就不可再換),有點限制過大的感覺。好在日本神人發現 ./save/System.dat 內的關鍵值位置 0x220 就是 Only One Mode 的旗標值 (00 Normal, 01 朝陽, 02 未央, 03 麻里乃, 04 クレア, 05 由馬)。無聊就拿 Ruby 二進位讀寫這個位置看看,果然滿容易的。


以上另存 *.bat 檔 (這是利用 Ruby -x 參數的特殊功能以批次檔形式執行,書的 18 章有介紹),並記得安裝 Ruby (http://www.ruby-lang.org) 並設定好 %PATH% 才可執行 XD (相信對一般人來說太麻煩了,有興趣的人還是用 XVI32 軟體直接改值吧)

另外一個發現是 0x160-161 是儲存啟動遊戲次數的地方 (遊戲開頭右下角 LP 值),最大 65535。這邊數值儲存是採用 Little Endian 方式,例如 65534 (FF FE) 就寫成 FE FF。如果不大於 255 基本上 0x161 是 00 才對。不過這個值聽說沒啥用,那就懶的改啦。

最後,開頭畫面用鍵盤輸入:(取自 2ch 情報)
  • BGMLHR : 特殊 8-bit 模式 XD
  • HC↑↓ABBA : 全部限制功能解開 (!慎用!)

這到底誰發現的啊...(汗)

沒有留言:

張貼留言