2010-03-31 19:00:23 +02:00
|
|
|
#!/usr/bin/ruby
|
|
|
|
|
|
|
|
require 'safebox'
|
|
|
|
|
|
|
|
_ = _e = nil
|
|
|
|
$stdout.print "(0)$ "
|
2010-07-25 15:33:39 +02:00
|
|
|
db = Safebox.eval { {} }
|
2010-03-31 19:00:23 +02:00
|
|
|
STDIN.each.each_with_index do |line, i|
|
2010-07-25 15:33:39 +02:00
|
|
|
type, value = Safebox.run line, Class.new( Safebox::Box), db, _, _e
|
|
|
|
case type
|
|
|
|
when :value
|
|
|
|
_ = value
|
|
|
|
$stdout.puts "=> #{Safebox.eval{value.inspect}}"
|
|
|
|
when :exception
|
|
|
|
_e = value
|
|
|
|
$stdout.puts Safebox.eval{value.inspect}, Safebox.eval{value.backtrace[0..-4].map( &"\t%s".method( :%))}, "\tSafebox:1:in `run'"
|
|
|
|
else # Impossible, yet
|
2010-03-31 19:00:23 +02:00
|
|
|
end
|
|
|
|
$stdout.print "(#{i+1})$ "
|
|
|
|
end
|
2010-07-25 15:33:39 +02:00
|
|
|
$stderr.puts "In your db are stored: #{Safebox.eval db.method( :inspect)}"
|