10 Things Every Java Programmer Should Know About Ruby

Open Classes

Methods can be added to classes at any point … even built in classes.

class Integer
  def even?
    (self % 2) == 0
  end
end

p (1..10).select { |n| n.even? }
  # => [2, 4, 6, 8, 10]

Caution is advised, but this feature can be very useful.