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.
| Object-Oriented Programming | ||
|---|---|---|
| Code | Expected | Actual |
class Duck
def quack
'Quack!'
end
def swim
'Paddle paddle paddle...'
end
end
class Goose
def honk
'Honk!'
end
def swim
'Splash splash splash...'
end
end
class DuckRecording
def quack
play
end
def play
'Quack!'
end
end
def make_it_quack(Duck duck)
duck.quack
end
make_it_quack(Duck.new) |
"Quack!" |
Error! (Exception?) Here's stdout:
SyntaxError: compile error
(irb):25: formal argument cannot be a constant
def make_it_quack(Duck duck)
^
(irb):25: parse error, unexpected tIDENTIFIER, expecting ')'
def make_it_quack(Duck duck)
^
from (irb):25
NoMethodError: undefined method `make_it_quack' for main:Object
from (irb):28
|
make_it_quack(DuckRecording.new) |
TypeException: object not of type Duck |
Error! (Exception?) Here's stdout: NoMethodError: undefined method `make_it_quack' for main:Object from (irb):29 |
def make_it_swim(Duck duck) duck.swim end make_it_swim(Duck.new) |
"Paddle paddle paddle..." |
Error! (Exception?) Here's stdout:
SyntaxError: compile error
(irb):30: formal argument cannot be a constant
def make_it_swim(Duck duck)
^
(irb):30: parse error, unexpected tIDENTIFIER, expecting ')'
def make_it_swim(Duck duck)
^
from (irb):30
NoMethodError: undefined method `make_it_swim' for main:Object
from (irb):33
|
make_it_swim(Goose.new) |
TypeException: object not of type Goose |
Error! (Exception?) Here's stdout: NoMethodError: undefined method `make_it_swim' for main:Object from (irb):34 |
def make_it_quack(duck) duck.quack end make_it_quack(Duck.new) |
"Quack!" | "Quack!" |
make_it_quack(DuckRecording.new) |
"Quack!" | "Quack!" |
def make_it_swim(duck) duck.swim end make_it_swim(Duck.new) |
"Paddle paddle paddle..." | "Paddle paddle paddle..." |
make_it_swim(Goose.new) |
"Splash splash splash..." | "Splash splash splash..." |
make_it_quack(Goose.new) |
NoMethodError: undefined method `quack' for #<Goose:0x2bb8a8> |
Error! (Exception?) Here's stdout: NoMethodError: undefined method `quack' for #<Goose:0xb7c08db4> from (irb):36:in `make_it_quack' from (irb):45 |
make_it_swim(DuckRecording.new) |
NoMethodError: undefined method `swim' for #<DuckRecording:0x2b97d8> |
Error! (Exception?) Here's stdout: NoMethodError: undefined method `swim' for #<DuckRecording:0xb7c06b18> from (irb):41:in `make_it_swim' from (irb):46 |