 
 This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
| Hashes | ||
|---|---|---|
| Code | Expected | Actual | 
| empty = Hash.new | {} | {} | 
| empty = {} | {} | {} | 
| numbers = { 'two' => 2, 'eight' => 8} | {"two"=>2, "eight"=>8} | {"two"=>2, "eight"=>8} | 
| numbers["two"] | 2 | 2 | 
| numbers["ten"] = 10 | 10 | 10 | 
| numbers | {"two"=>2, "eight"=>8, "ten"=>10} | {"two"=>2, "eight"=>8, "ten"=>10} | 
| numbers.keys | ["two", "eight", "ten"] | ["two", "eight", "ten"] | 
| numbers.values | [2, 8, 10] | [2, 8, 10] | 
| numbers.to_a | [["two", 2], ["eight", 8], ["ten", 10]] | [["two", 2], ["eight", 8], ["ten", 10]] | 
| motto = "Don't tread on me" 
flag = { :motto => motto, 
         :picture => "rattlesnake.png"}
motto.upcase!
flag[:motto] | "DON'T TREAD ON ME" | "DON'T TREAD ON ME" | 
| a = ["Maury", "Momento", "123 Elm St.", "West Covina", "CA"]
h = { :first_name => "Maury",
      :last_name => "Momento",
      :address => "123 Elm St."
      :city => "West Covina",
      :state => "CA" }
a = [1, 4, 9, 16]
h = { :one_squared => 1, two_squared => 4, three_squared => 9,
      :four_squared => 16 }
class BadIdea
  def hash
    100
  end
end
class StringHolder
  attr_reader :string
  def initialize(s)
    @string = s
  end
  def ==(other)
    @string == other.string
  end
  def hash
    @string.hash
  end
end
a = StringHolder.new("The same string.")
b = StringHolder.new("The same string.")
a == b | true | true | 
| a.hash | -1007666862 | -1007666862 | 
| b.hash | -1007666862 | -1007666862 |