class Cat
def walk
puts "I'm walking"
end
end
cat = Cat.new
def cat.fly
puts "I can fly"
end
cat.fly
Slide 82
Slide 82 text
Method Missing
Slide 83
Slide 83 text
def method_missing(method_name)
puts "method: #{method_name} is called!"
end
[1, 2, 3, 4].hello
Slide 84
Slide 84 text
Exception Handling
begin .. rescue.. else.. ensure.. end
Slide 85
Slide 85 text
def open_my_file(file_name)
File.open file_name do |f|
puts f.read
end
end
begin
open_my_file("block_demo.r")
rescue => e
puts e
else
puts "it's working good!"
ensure
puts "this must be executed, no matter what"
end
Slide 86
Slide 86 text
Object-Oriented Programming
Slide 87
Slide 87 text
everything in Ruby is an Object
Slide 88
Slide 88 text
object = state+ behavior
Slide 89
Slide 89 text
top class = Object
top class would be BasicObject in Ruby 1.9