最近用ruby寫一個automation, 用了兩星期, 覺得蠻方便的.談談感受吧:
1. ruby讀取yaml檔案方便,當時對.ini檔案的處理,沒有發現有庫支援,就查閱了網上的代碼,自己改改用了.
對yaml檔案的讀取,ruby蠻方便的.但是想修改yaml檔案中的一項,類似於.ini檔案的處理還是需要自己動手寫程式支援.
這裡要提到一個輸出語句: p [something] 注意這裡不是puts和print. puts列印出來的東西預設有斷行符號,而print列印出來的
東西預設沒有斷行符號.p 會列印出something的類型,比如字串會把雙引號打出來,會列印出數組.
比如在讀取yaml檔案或者其他類型檔案的時候,可以用p來列印出來,看看讀取的是什麼東西,對於調試很有作用.
比如yaml檔案中有這樣的表示:
BuildResults:
- modes: release
path: c:/build/result/release
- modes: debug
path: c:/build/result/debug
- modes: custom
path: c:/build/result/custom
對這樣的表示就可以用p語句去列印出來,看看到時是什麼結構:
require 'YAML"
yaml = YAML.load(File.open(....))
buildResults = yaml['BuildResults']
p buildResults
知道了其資料結果,就做相應的處理.
2.Regex,逃不過的話題,我不熟悉這玩藝,或者說學會了,不用就會忘.所以大概知道意思.
用的時候,我參考一個網站: http://www.rubular.com/ 真是給我節省了不少麻煩.
順便說個知識點: /....../ 和/......./i 的區別, 前面那個區分運算式的大小寫,後面那個不區分大小寫.
3. 對了把IDE給忘了,好的IDE提高工作效率毋庸置疑,我這裡用的是 Aptana Studio 3. 總體感覺一般把,不過
夠用了。有好的開源的,可以幫哥們推薦一下。
4. 對了ruby對解釋出錯的提示還是比較一般。比如哥們用到一個庫函數,但是急於使用函數,把函數前面的命名空間給
忘了,後來ruby提示:<name error>. 當時我還調試一會。我在網上查了,發現有這種錯誤的同學還蠻多。
還有就是在寫automation的時候,經常要進行路徑比較,比如String的 == 操作,include?操作等,但是一定要注意
操作符兩邊的字串大小寫要一致,比如a = "C:/goo.txt" b = "c:/goo.txt" 如果寫成 a == b 或者是 a.include?("c:/goo.txt")都
會返回false. 可以這樣:a.downcase == b.downcase a.downcase.include?("c:/goo.txt")
就這樣簡單寫一下吧。有的玩藝說的不清楚,請諒解。