ruby1.9删除当前目录功能,require "Action.rb"不行、
用下面2种方式:
require_relative "trig.rb" .rb可以省略,虽然首字母大小写都可以,但用大写。
require ".Action.rb"
module中的实例变量因为不可以创建对象实例,但有一个非常有用的作用,即通过模块使用叫做混合插入(mixin)的机制实现了多重继承。
Ruby的include语句只是创建了一个指向一个有名字的模块的引用,如果这个模块在一个独立的文件中,那么你必须先用require将这个文件引入,然后才能使用include。第二,Ruby的include不是简单的将模块的实例方法拷贝到类里面,而是建立一个从类到模块的引用。如果很多个类都包含了同一个模块,它们都指向同一样东西。如果你修改了模块中一个方法的定义,即使你的程序还在运行之中,你的类也能使用新的方法的行为[ 注意,我们这里说的是实例方法,实例变量永远都是每个对象都有一份拷贝]
require_relative "Trig.rb" class Test1 include Trig end t=Test1.new.instance
或
module Trig @af=1234 PI=3.14159 def instance puts "模块的实例方法" end def Trig.sin(x) puts "trig的sin方法" end def Trig.cos(x) puts "trig的cos方法" end end class Test1 include Trig end t=Test1.new.instance