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.
Code Blocks | ||
---|---|---|
Code | Expected | Actual |
[1,2,3].each {|i| puts i} |
1 2 3 |
1 2 3 |
[1,2,3].each { |i| puts i } |
1 2 3 |
1 2 3 |
[1,2,3].each do |i| if i % 2 == 0 puts "#{i} is even." else puts "#{i} is odd." end end |
1 is odd. 2 is even. 3 is odd. |
1 is odd. 2 is even. 3 is odd. |
1.upto 3 do |x| puts x end |
1 2 3 |
1 2 3 |
1.upto 3 { |x| puts x } |
SyntaxError: compile error ... |
SyntaxError: compile error (irb):13: parse error, unexpected '{', expecting $ 1.upto 3 { |x| puts x } ^ from (irb):13 |
1.upto(3) { |x| puts x } |
1 2 3 |
1 2 3 |
hello = proc { "Hello" } hello.call |
"Hello" | "Hello" |
log = Proc.new { |str| puts "[LOG] #{str}" } log.call("A test log message.") |
[LOG] A test log message. |
[LOG] A test log message. |
{1=>2, 2=>4}.each { |k,v| puts "Key #{k}, value #{v}" } |
Key 1, value 2 Key 2, value 4 |
Key 1, value 2 Key 2, value 4 |
def times_n(n) lambda { |x| x * n } end times_ten = times_n(10) times_ten.call(5) |
50 | 50 |
times_ten.call(1.25) |
12.5 | 12.5 |
circumference = times_n(2*Math::PI) circumference.call(10) |
62.8318530717959 | 62.8318530717959 |
circumference.call(3) |
18.8495559215388 | 18.8495559215388 |
[1, 2, 3].collect(&circumference) |
[6.28318530717959, 12.5663706143592, 18.8495559215388] | [6.28318530717959, 12.5663706143592, 18.8495559215388] |
ceiling = 50 |
Which of these numbers are less than the target? |
|
[1, 10, 49, 50.1, 200].select { |x| x < ceiling } |
[1, 10, 49] | [1, 10, 49] |