我设法编译了mruby代码,添加了来自https://github.com/mattn/mruby-require的mrubygem - mruby-require
然而,当我尝试调用require'./'时,我收到错误消息。以下是我的代码:
def test(a, b)
print "Inside the include->test(..)"
return a+b
end
require 'inc.rb'
def helloworld(var1)
print 'hello world ' + var1 + ". Test number = " + test(4, 5)
end
helloworld('test')
当我执行test1.rb时,我从mruby得到了这个错误:
NoMethodError: undefined method 'puts' for main
经过一番分析后,我发现'puts'与mruby无关。在添加mruby-require gem之后,没有执行任何ruby代码。我是否需要使用mruby-require添加任何依赖?
有人能帮助我吗?
更新:根据请求粘贴build_config.rb的内容。我删除了评论的行。
MRuby::Build.new do |conf|
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
toolchain :visualcpp
else
toolchain :gcc
end
enable_debug
# adding the mruby-require library
conf.gem 'mrbgems/mruby-require'
conf.gembox 'default'
end
MRuby::Build.new('host-debug') do |conf|
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
toolchain :visualcpp
else
toolchain :gcc
end
enable_debug
conf.gembox 'default'
conf.cc.defines = %w(ENABLE_DEBUG)
conf.gem :core => "mruby-bin-debugger"
end
答案 0 :(得分:2)
以下引用来自README.md
:
当使用mruby-require时,必须要求使用在build_config.rb中 mruby-require之后出现的其他mrbgems。
这是来自您的build_config.rb
:
conf.gem 'mrbgems/mruby-require'
conf.gembox 'default'
The default
gembox contains mruby-print
。因此要么需要mruby-print
,要么最好交换这些行以使其成为内置gem(没有mruby-require
的默认行为)。