Tuesday, December 20, 2005

10 Things Every Java Programmer Should Know About Ruby

Here's a nice concise presentation by Jim Weirich on the cool bits of Ruby.



I love this part that demonstrates the message based behavior of Ruby.




class VCR
def initialize
@messages = []
end
def method_missing(method, *args, &block)
@messages << [method, args, block]
end
def play_back_to(obj)
@messages.each do |method, args, block|
obj.send(method, *args, &block)
end
end
end

vcr = VCR.new
vcr.sub!(/Java/) { "Ruby" }
vcr.upcase!
vcr[11,5] = "Universe"
vcr << "!"

string = "Hello Java World"
puts string

vcr.play_back_to(string)
puts string



This prints out:




Hello Java World
HELLO RUBY Universe!



This is like nuke powered dynamic proxies. My brain swirls just thinking of the possibilities.

Post a Comment
 
The Out Campaign: Scarlet Letter of Atheism