mruby master changes

mruby masterの変更履歴

mruby master changes a85fdbd - d7c2932

mruby master changes a85fdbd - d7c2932

userdataを持ったProcのcfunc(c言語の関数)を定義できるAPIを追加しています。

2014-03-31 00:50 matz commit a85fdbd

JIS/ISOでは、ArrayはComparableではないので、Comparableを削除しています

2014-03-31 08:14 ksss commit 15eabcd

例外が発生したときに、例外のクラス名を表示するようにしています

2014-03-31 09:47 mattn commit ea68fe2

整数リテラルにアンダースコアが追加されているので#1960、String#hex, octにテストコードを増やしています

2014-03-31 09:50 take-cheeze commit bf6b1df

userdataを持ったProcのcfunc(c言語の関数)を定義できるAPIを追加しています。これは1974を解決しています。

どうやらmrubyのProcには、C言語の関数を格納できるようです。Procの構造体は以下のようになっており、unionでirepがあります

struct Proc {
  MRB_OBJECT_HEADER;
  union {
    mirb_irep *irep;
    mrb_func_t func;
  } body;
  struct RClass *target_class;
  struct REnv *env;
};

irepはinternal representation(内部表現)でmrubyがコンパイルされた状態のコードです。つまり、C言語の処理かmrubyの処理が格納できる状態になっているのだと思います。REnvがuserdataなのでしょう。

2014-03-31 13:44 matz commit 4c29699

Hash関数で、出来る限りfuncall関数を避けるようにしています

2014-03-31 14:12 matz commit d7c2932

シングルトンクラスは__outer__を設定する必要があるので、設定しています。1983を修正しています