mrubyをSQLiteに組み込んでみた
mruby いいですね〜。
とりあえずSQLiteから使えるようにしてみました。
https://github.com/spiritloose/sqlite3ext-mruby
とりあえずこんなことができます。
SELECT mrb_eval('ARGV.shift.to_i * 2', 42); SELECT mrb_load('/path/to/library.rb'); SELECT mrb_load_irep('/path/to/library.mrb');
eval とか load できるだけじゃ面白くないので、ruby で関数を定義できるようにしてみた。
def fib(n) n < 2 ? n : fib(n - 1) + fib(n - 2) end create_function(:fib) do |n| fib(n) end
っていうファイルを mrb_load すると呼び出せるようになる。
SELECT fib(30);
非常に組み込みやすくて良いわけですが、どう使うと面白いかなぁ。
MobiRuby は素晴らしいですねぇ。
と、約2年ぶりに更新してみるw