mruby 1.3.0 (2017-7-4)
を使っています.build_config.rb
は,
ruby
1MRuby::Build.new do |conf| 2 if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR'] 3 toolchain :visualcpp 4 else 5 toolchain :gcc 6 end 7 enable_debug 8 conf.gembox 'default' 9 conf.gem :git => 'https://github.com/mattn/mruby-uv' 10 conf.gem :git => 'https://github.com/mattn/mruby-http' 11 conf.gem :git => 'https://github.com/iij/mruby-socket' 12 conf.gem :git => 'https://github.com/luisbebop/mruby-polarssl.git' 13 conf.gem :git => 'https://github.com/iij/mruby-digest' 14 conf.gem :git => 'https://github.com/iij/mruby-pack' 15 conf.gem :git => 'https://github.com/matsumoto-r/mruby-simplehttp.git' 16 conf.gem :git => 'https://github.com/matsumotory/mruby-httprequest' 17 conf.gem :git => 'https://github.com/iij/mruby-aws-s3.git' 18end 19 20MRuby::Build.new('host-debug') do |conf| 21 if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR'] 22 toolchain :visualcpp 23 else 24 toolchain :gcc 25 end 26 27 enable_debug 28 conf.gembox 'default' 29 conf.cc.defines = %w(MRB_ENABLE_DEBUG_HOOK) 30 conf.gem :core => "mruby-bin-debugger" 31end 32 33MRuby::Build.new('test') do |conf| 34 if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR'] 35 toolchain :visualcpp 36 else 37 toolchain :gcc 38 end 39 enable_debug 40 conf.enable_bintest 41 conf.enable_test 42 conf.gembox 'default' 43end
としています.
mruby
とruby (2.4.0p0)
とで,const_get
メソッドの振る舞いが違うのですが,これはそういう仕様ですか?もしそうならsimplehttp
のmrbgem
が使えないので困っています.
具体的には,まずClass.const_get('Fixnum')
としたところ,rubyでは定数のFixnum
が返ってきたのに対し,mrubyではuninitialized constant Class::Fixnum (NameError)
というエラーになりました.
そこで,class Hoge; end; class Hoge::Fuga; end
としてもう一つ試してみました.rubyではClass.const_get('Hoge::Fuga')
とHoge.const_get('Fuga')
の両方がHoge::Fuga
を返しましたが,mrubyではHoge.const_get('Fuga')
しかダメです.
このような結果だと,https://github.com/matsumotory/mruby-simplehttpのコードにあるsocket_class_exists?
等が上手く動かないのではないでしょうか.
どうしてもmruby-simplehttp
を使いたいのですが,どうしたらよいですか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。