$: << '..' require 'sloop' Account = sloop { self.balance = 0 def_deposit { |v| self.balance += v } def_withdraw { |v| self.balance -= v } def_inspect { "#(an account with $#{balance})" } self.inspect = Sloop::Method.new { "#(an account with $#{balance})" } } my_account = Account.clone p my_account puts "Depositing $10" my_account.deposit 10 p my_account