2007年06月28日

Block and Proc

Tags: block proc closure function

Ruby 可以將程式碼參數化,Ruby 稱被參數化的程式碼為 block 。Ruby 語法以 {||} 表示一個 block ,其中的 || 為參數列宣告,若無參數則可省略。

Ruby 的 Proc 類似 ECMAScript 的 Function。在 ECMAScript 中使用關鍵字 function 即可配置一個 Function 實例。 Ruby 則使用 Kernel::procKernel::lambda 方法 (兩者相同) 或是直接建構一個 Proc 實例(Proc.new),需提供一個 block 作為引數。

Ruby: proc { |arguments| codes }
ECMAScript: function(arguments) { codes }
...繼續閱讀

Posted by shirock at 樂多Roodo!17:03回應(0)引用(0)

2007年04月20日

檔案插入指定字串(Find 與檔案操作)

Tags: Find Google_Analytics

日前為了掌握公司網站內容的使用狀況,以公司帳號申請了 Google Analytics 服務 (See also: 部落格小玩意5: 加入 Google Analytics 分析程式碼)。接著就要將 Google 提供的 Analytics 程式碼植入網站的網頁中。然而公司網站早期係以靜態網頁形式建置,每個網站下包含子目錄,擁有數十個靜態頁面內容。若以人工作業方式植入甚為不便。故以 Ruby 撰寫一個小程式,掃描指定目錄之下的所有網頁內容,將 Google Analytics 程式碼植入不含 Analytics 程式碼的網頁中。

...繼續閱讀

Posted by shirock at 樂多Roodo!15:24回應(0)引用(0)

2007年04月12日

以 REXML 將 CSV 文件轉換成 MS Excel 2k/XP XML 文件

Tags: ruby xml spreadsheet

本文示範以 Ruby 標準庫 REXML 實踐 MS Excel 2k/XP XML 文件之匯出工作。首先讀取一個 CSV 文件 test.csv,再以 REXML 建立一份 XML 文件實例,接著按 MS Excel 2k/XP 之 XML 文件結構,將自 CSV 讀取之資料存入 XML 文件實例,最後儲存為 test.xml 。該文件可以 MS Excel 2k/XP 讀取。

關於 MS Excel 2k/XP XML 文件之相關訊息,請見《A note of creating XML document by SimpleXML》。

...繼續閱讀

Posted by shirock at 樂多Roodo!16:33回應(0)引用(0)

字元編碼轉換、基本檔案讀取與建立壓縮檔

ruby iconv file

Ruby 練習程式。讀取UTF-8編碼文字檔,轉換成Big5編碼後顯示。開啟檔案後分別以 Loop 式的 gets, Iterator 的 each, 以及一次讀入陣列的 readlines 三種形式操作。再以封絕(Closure)方式完成開啟、讀取及轉碼輸出。最後嘗試以 popen 進行管線(pipe)操作,呼叫壓縮工具將轉碼後的資料壓縮儲存。

...繼續閱讀

Posted by shirock at 樂多Roodo!15:57回應(2)引用(0)
 [1]