人気ブログランキング | 話題のタグを見る

Linux用 minirb

Linux用の irb もどき minirb を作った。

Rubyの式をプロンプトから一行入力するとそれが実行されて式の値が表示される。

複数行を入力したい時は、セミコロンだけを入力すると複数行モードになる。入力が終わったらやはりセミコロンだけを入力すると複数行モードが終了する。

実行例

owner@owner-laptop:~$ minirb
minirb> ;
lines*> total = 0
lines*> for i in 1..10
lines*> total += i
lines*> end
lines*> puts total
lines*> ;
55
nil

minirb のソース(送信の関係でevalが全角になっています。半角英数に置き換えて使用してください。)

#!/usr/bin/ruby

def ml
  prog = ""
  while true
    print 'lines*> '
    line = gets
    break if line == ";\n"
    prog << line
  end
  return prog
end

loop do
  begin
    print "minirb> "
    line = gets
    if line == ";\n"
      then line = ml
    end
    p eval(line, TOPLEVEL_BINDING)
  rescue SyntaxError, LoadError, StandardError
    STDERR.puts "Warning: #$!"
  end
end

注: chmod +x minirb で実行可能にして、sudo cp minirb /usr/bin/minirb としておくと、minirb をコマンドとして実行できる。
by tnomura9 | 2008-06-02 00:41 | ubuntu | Comments(0)
<< ubuntu でC言語のお勉強 ubuntu で無線LAN >>