主頁 > 知識庫 > Ruby中區(qū)分運行來源的方法

Ruby中區(qū)分運行來源的方法

熱門標簽:百度AI接口 電話運營中心 企業(yè)做大做強 硅谷的囚徒呼叫中心 Win7旗艦版 語音系統(tǒng) 呼叫中心市場需求 客戶服務

當我們在寫模塊的時候,或多或少需要直接運行這個文件也可以執(zhí)行一些方法,但是這樣對于當這個模塊被require或者include時,顯得不好,在ruby里,有沒有區(qū)分運行來自當前文件,還是被require的目標文件調用呢?

Python可以

比如像Python這樣

復制代碼 代碼如下:

if __name__ == '__main__':
    print "from direct running"

Ruby當然也可以

對于處處為程序員著想,擁有快樂編程理念的Ruby來說當然是可以區(qū)別的。其原理就是判斷啟動文件是否為模塊的代碼文件。

復制代碼 代碼如下:

if __FILE__ == $0
    puts 'called from direct running'
end

舉個例子

工具類模塊utils.rb

復制代碼 代碼如下:

module Utils
    class StringUtils
        def self.test
            puts "test method myfile=" + __FILE__ + ';load from ' +  $0
        end
    end
end

if __FILE__ == $0
    puts 'called from direct running'
    Utils::StringUtils.test()
end

直接運行,結果,if條件成立,執(zhí)行了輸出

復制代碼 代碼如下:

20:04:37-androidyue~/rubydir/test$ ruby utils.rb
called from direct running
test method myfile=utils.rb;load from utils.rb

引用Utils的類test.rb

復制代碼 代碼如下:

require './utils'
Utils::StringUtils.test()

運行結果,引入模塊的條件不成立,沒有輸出called from direct running

復制代碼 代碼如下:

20:08:07-androidyue~/rubydir/test$ ruby test.rb
test method myfile=/home/androidyue/rubydir/test/utils.rb;load from test.rb

您可能感興趣的文章:
  • windows和linux下Ruby的下載與安裝
  • ruby安裝gem包失敗的通用解決方法
  • Windows下Ruby on Rails開發(fā)環(huán)境安裝配置圖文教程
  • 快速正確的安裝 Ruby, Rails 運行環(huán)境
  • 更改RubyGem安裝源
  • win7安裝ruby on rails開發(fā)環(huán)境
  • CentOS 6.3下編譯安裝Ruby 2.0筆記
  • Ruby中檢測Gem是否安裝的方法
  • Windows下ruby語言安裝教程
  • Ruby的安裝與運行

標簽:海南 山西 喀什 崇左 濟南 山西 長沙 安康

巨人網絡通訊聲明:本文標題《Ruby中區(qū)分運行來源的方法》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266