Ruval

Consider this program:

$ cat prog.rb
'hola'

def good; ':)'; end

def bad
  ':('
end

class Person
  attr_accessor :name, :mood

  def initialize(name='bob')
    @name='bob'
  end
end

person1 = Person.new
person1.name
person1.mood = good
person1.mood

Run it with ruval:

$ ruval prog.rb
'hola'
=> hola
def good; ':)'; end
=> good
def bad
  ':('
end
=> bad
class Person
  attr_accessor :name, :mood

  def initialize(name='bob')
    @name='bob'
  end
end
=> initialize
person1 = Person.new
=> #<Person:0x00000000010cfc50>
person1.name
=> bob
person1.mood = bad
=> :)
person1.mood
=> :)