在文件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. 引用一个目录下所有文件