Sha256: e2dbe4307c29be603bc04be44a80201cc96ea67ecf782d636d42a5ac82b3a8ea
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
module Rubie class Interpreter def self.exec world = Object.new.send(:binding) puts 'おはよう、今日も私と一緒に遊んでくれるんだねっ!嬉しい!' while true print 'rubie > ' command = gets if command.nil? puts "\nまたねー" return '遊んでくれてありがとう' end parser = Rubie::Ripper.new(command) begin parser.parse ret = eval(command, world) puts parser.detail puts "=> #{ret}" rescue Rubie::ParseErrorException => e puts "文法エラーみたい・・・ 「#{e.message}」だって" rescue ArgumentError => e puts '引数違うよー' rescue NoMethodError => e puts "#{e.receiver}に「#{e.name}」って名前のメソッドが定義されてないってー!" rescue NameError => e puts "#{e.receiver}に「#{e.name}」って名前の変数かメソッドが定義されてないってー!" end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubie-0.1.1 | lib/rubie/interpreter.rb |