瓜瓜派的瓜瓜
分类: IT业界
2012-01-09 11:05:22
你可以用include或extend来MixIn(混入)module的方法到class。
它俩的不同在于:
include使得module的方法被类实例使用;
extend使得module的方法被类本身使用。
举例:
module Greetings
def say_hello
puts "Hello!"
end
end
class Human
include Greetings
end
Human.new.say_hello # => "Hello!"
Human.say_hello # NoMethodError
class Robot
extend Greetings
end
Robot.new.say_hello # NoMethodError
Robot.say_hello # => "Hello!"
如果你想了解更多关于include和extend比较的信息,推荐你看看以下资源: