読者です 読者をやめる 読者になる 読者になる

mruby-ostructリリース

mruby コード

https://github.com/ksss/mruby-ostruct

CRubyのOpenStructをmrubyに移植しました。

前からあったにはあったけど、mruby側で動的にsingleton methodを作るKernel#define_singleton_methodがなかったのでただのHashのラッパーになっていました。

自力でKernel#define_singleton_methodを実装して提案してみたら、mruby側に取り込まれたようです

そんなわけでmruby-ostructでの呼び出しがちゃんとmethodとして機能するようになったのでここにお知らせします。

DSLとかに便利かもしれないです。

o = OpenStruct.new
o.foo = 1
o.bar = "baz"
p o.foo #=> 1
p o.bar #=> "baz"
p o.to_h #=> {:foo => 1, :bar => "baz"}