在C++中嵌入ruby的时候有一个问题,我想请你帮忙解决一下。我正在从一个旧版本的ruby升级到3.2版本。以前,我可以像往常一样调用ruby_init和ruby_init_loadpath,然后就可以正常工作了,但是现在我需要在调用ruby_init_loadpath之前调用ruby_executable_node。
类似这样的东西(ruby的参数是任意的):
char* opt[] = { "ruby", "-v", "-eputs 'Starting'" };
int status;
ruby_executable_node(ruby_options(3, opt), &status);
字符串
这看起来不像是正确的做法,但除非我这样做,否则我所有的ruby对象都缺少class方法(错误是undefined method `class ')。我查看了ruby的更新日志,但找不到任何与此更改相关的内容。有人知道为什么会发生这种情况,或者是否有解决方法?
谢谢你
1条答案
按热度按时间np8igboo1#
基于this example,你可以传递参数
"-e "
,让Ruby在传递选项时不执行任何代码。