在文件arrayTest_1中,定義class Liuyang內容如下:(通過require File.expand_path('../arrayTest_2',__FILE__) 來包含其他文件的文件)
require File.expand_path('../arrayTest_2',__FILE__) class Liuyang def function_1 puts "function_1" end end
在同一級目錄下新建文件arrayTest_2.rb,補充定義class Liuyang:
class Liuyang def function_2 puts "function_2" end end
可以通過只引用arrayTest_1.rb來獲取class Liuyang的所有信息:
require File.expand_path('../arrayTest_1',__FILE__) test = Liuyang.new test.function_1 test.function_2
擴展:
1.引用當前rb同目錄下的一個文件(文件名:file_to_require.rb)的4種方法:
a. require File.join(__FILE__,'../file_to_require')
b. require File.expand_path('../file_to_require',__FILE__)
c. require File.dirname(__FILE__)+'/file_to_require'
// __FILE__為常量,表示當前文件的絕對路徑,如/home/oldsong/test.rb
d. $LOAD_PATH.unshift(File.dirname(__FILE__)) //把目錄加入LOAD_PATH變量中,然后可直接引用文件名。
2. 引用一個目錄下所有文件