2012/05/10

Recent entries from same category

  1. Ruby の Array#<< は Array#push よりも速いか
  2. Ruby の a = a + 1 はなぜ undefined method '+' for nil:NilClass なのか
  3. Re: Ruby 製バッチ処理を省メモリ化した
  4. Crystal と CRuby でHTTPサーバのベンチマーク
  5. pure mruby な JSON パーサ書いた。

mattn/go-mruby - GitHub

go-mruby make interface to embed mruby into go.

https://github.com/mattn/go-mruby
Matzさんにヒントも貰いながら、さっき出来ました。
メソッドは RunEval があり、mrubyの評価値を取得する事が出来ます。Go言語から渡した引数が ARGV になります。なので mruby 上では String とは限りません。
package main

import "github.com/mattn/go-mruby"

func main() {
    mrb := mruby.New()
    defer mrb.Close()

    println(mrb.Eval(`"hello " + ARGV[0]`"mruby").(string))

    for _, i := range mrb.Eval(`ARGV.map {|x| x + 1}`123).([]interface{}) {
        println(i.(int32)) // 2 3 4
    }
}
良かったら遊んでみて下さい。
Posted at by