-
2 weeks 2 days
-
2 weeks 4 days
-
4 weeks 2 days
-
4 weeks 5 days
-
4 weeks 6 days
Ruby Mixins
I've been playing around with Ruby's mixins today and It's really fun. Here's a snippet:
module Greeter
def who_am_i?
"#{self.class.name}"
end
def greet
puts "Hello #{@name}"
end
end
class Student
def initialize(n)
@name = n
end
include Greeter
end
class Teacher
def initialize(n)
@name = n
end
include Greeter
end
Now fire up irb and do this:
irb(main):039:0> load 'mixins.rb'
=> true
irb(main):040:0> s = Student.new("Marc")
=> #
irb(main):041:0> t= Teacher.new("Janice")
=> #
irb(main):042:0> s.greet
Hello Marc
=> nil
irb(main):043:0> t.greet
Hello Janice
=> nil
irb(main):044:0>
As you can see, you can actually construct the classes body from a module and call its classe's instance variable through the module. cool huh!

Facebook
Twitter
Post new comment