http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/rua/rua/?root=svn
とりあえず、Ruby側で関数を定義できるようにした。
Lua側の関数を呼び出せるようなAPIは見つからないなぁ。
というか、別に呼べてもうれしくないかも。
require 'rua' rua = Rua.new(:base) rua[:add] = lambda do |i, j| return i + j end rua[:make_fib] = lambda do a, b = 1, 1 return lambda do tmp = a a, b = b, a + b return tmp end end rua.eval(<<EOS) print('add:' .. add(1, 2)) fib = make_fib() for i = 1, 10 do print('fib[' .. i .. ']:' .. fib()) end EOS
add:3
fib[1]:1
fib[2]:1
fib[3]:2
fib[4]:3
fib[5]:5
fib[6]:8
fib[7]:13
fib[8]:21
fib[9]:34
fib[10]:55