oop/special_methods.rb
tests/_examples/oop/special_methods.rb in the metorex repository.
class Book
def initialize(title)
@title = title
end
def to_s
"Book: " + @title
end
def inspect
"Book(title=" + @title + ")"
end
end
class Magazine
def initialize(name)
@name = name
end
def inspect
"Magazine: " + @name
end
end
class SimpleIterator
def initialize
@value = 0
end
def each
self
end
def next
"next_value"
end
end
book = Book.new("Ruby Guide")
puts book
magazine = Magazine.new("Tech Monthly")
p magazine
it = SimpleIterator.new
iterator = it.each
puts iterator.next
Output:
Book: Ruby Guide
Magazine: Tech Monthly
next_value