1: #!/usr/bin/env ruby
2:
3: class Dog
4: def name() "Rover" end
5: def talk() puts "Woof" end
6: end
7:
8: class Proxy
9: def initialize(realobj)
10: @realobj = realobj
11: end
12: def method_missing(sym, *args, &block)
13: @realobj.send(sym, *args, &block)
14: end
15: end
16:
17: dog = Dog.new
18: prox = Proxy.new(dog)
19:
20: puts "My dogs name is #{prox.name}"
21: prox.talk
|