Sha256: 97c67406669fde9604a05630c8d905d51c8b49db3cb33f20550c2511888317de
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.__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.0 | lib/rubie/interpreter.rb |