Ruby 入門指南 - require

我們打算將 Encrypt 類別 (class) 放在 encrypt.rb 中,然後用 encryptdemo.rb 測試 Encrypt 類別




這樣一來, encrypt.rb 簡單一點,有程式執行的部份要移到 encryptdemo.rb 內。修改後的 encrypt.rb 如下
class Encrypt
    def setCode
        @code = Array('a'..'z').shuffle
    end

    def getCode
        @code.join
    end
   
    def toEncode
        "toEncode"
    end

    def toDecode
        "toDecode"
    end
end

=begin
《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:encrypt.rb
功能:示範 Ruby 程式 
作者:張凱慶
時間:西元 2012 年 12 月
=end


原本程式執行部份移到 encryptdemo.rb ,如下
require "./encrypt.rb"

e = Encrypt.new
e.setCode
puts
puts e.getCode
puts e.toEncode
puts e.toDecode
puts

=begin
《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:encryptdemo.rb
功能:示範 Ruby 程式 
作者:張凱慶
時間:西元 2012 年 12 月
=end


留意第一行, require 為關鍵字 (keyword) 之一,後面空一格接檔案名稱字串 (string)
require "./encrypt.rb"


一般來說相同目錄下直接用檔案名稱 "encrypt.rb" 就可以了,這裡是加上 "./" ,表示相同目錄下。


另外有兩個關鍵字也可用來載入檔案, load 可重複載入檔案,相對 require 只會載入一次,而另一個 load 則用來載入模組 (module) 。


執行 encryptdemo.rb ,結果如下



這樣一來,我們就可以在需要時 require 就可以了。接下來我們繼續看到一個特別的方法,也就是建立物件 new 執行的 initialize 方法。


中英文術語對照
類別class
關鍵字keyword
字串string
模組module


您可以繼續參考
軟體開發


相關目錄
回 Ruby 入門指南
回 Ruby 教材
回首頁


參考資料
http://www.rubyist.net/~slagell/ruby/modules.html
http://www.rubyist.net/~slagell/ruby/misc.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html

沒有留言: