舉例講解Ruby中require的使用方法

2022-09-26 05:30:13 字數 1114 閱讀 4910

同一目錄下的檔案,如/usr/local/ruby/foo.rb與/usr/local/ruby/bar.rb兩個檔案。

如果直接在foo.rb中

require 'bar'

執行時會報找不到bar.rb錯誤。

這是因為執行

/hwww.cppcns.comome/oldsong$ ruby /usr/local/ruby/foo.rb

時會在ruby安裝的lib目錄和/home/oldsong/目錄下查詢bar.rb。而不會去rb檔案的目錄/usr/local/ruby/下查詢。

所以除引用系統rb外,require中不能用相對路徑。

下面結合我個人經驗介紹幾種引用單個和目錄下所有rb的方法。

1、引用乙個檔案

例: 引用當前rb同目錄下的file_to_require.程式設計客棧rb

先介紹3種方法

require file.join(__file_, '../file_to_require')。

require file.expand_path('../file_to_require', __file__)

require file.dirname(__file__) + '/file_to_require'

其中,file.expand_path是rails常用的做法。

__file__為常量,表示當前檔案的絕對路徑,如/home/oldsong/test.rb

法四: 

$load_path.unshift(file.dirname(__file__))

require 'bar'

先把目錄加入lo變數中,然後可直接引用檔名。

2、引用乙個目錄下所有檔案

ruby沒有j**a中的import j**a.io.*;

引用時不能用萬用字元,估計以後的版本有可能加上。

例:引用當前rb相同目錄下lib/檔案下所有*.rb檔案。

法一: 

dir[file.dirname(__www.cppcns.comfile__) + '/lib/*.rb'].each

法二:乙個gemwww.cppcns.com搞定

本文標題: 舉例講解ruby中require的使用方法

本文位址:

linux中fork 函式 舉例講解!

乙個程序,包括 資料和分配給程序的資源。fork 函式通過系統呼叫建立乙個與原來程序幾乎完全相同的程序,也就是兩個程序可以做完全相同的事。但如果初始引數或者傳入的變數不同,兩個程序也可以做不同的事。乙個程序呼叫fork 函式後,系統先給新的程序分配資源,例如儲存資料和 的空間。然後把原來的程序的所有...

Ruby 語法講解

讓我們編寫乙個簡單的 ruby 程式。所有的 ruby 副檔名都是.rb。所以,把下面的源 放在 test.rb 檔案中。usr bin ruby w puts hello,ruby 在這裡,假設您的 usr bin 目錄下已經有可用的 ruby 直譯器。現在,嘗試執行這個程式,如下所示 ruby ...

AdaBoost演算法講解 舉例

adaboost演算法的目標是提高 學習演算法 比如說lms演算法 的 分類準確率。adaboost演算法提供的是框架 可以使用各種學習方法構建子分類器。二 演算法分析 步驟 根據訓練樣本設計乙個分類器,根據分類的結果,改變每個樣本的權重,產生乙個弱分類器,一直迭代,直到最後的誤差率小於給定的誤差率...