我将 JRuby 嵌入到 Java 中,因为我需要使用 Java 字符串作为参数调用一些 Ruby 方法。问题是,我正在调用这样的方法:
String text = ""; // this can span over multiple lines, and will contain ruby code
Ruby ruby = Ruby.newInstance();
RubyRuntimeAdapter adapter = JavaEmbedUtils.newRuntimeAdapter();
String rubyCode = "require \"myscript\"\n" +
"str = build_string(%q~"+text+"~)\n"+
"str";
IRubyObject object = adapter.eval(ruby, codeFormat);
问题是,我不知道我可以使用哪些字符串作为分隔符,因为如果我发送给 build_string 的 ruby 代码将包含 ruby 代码。知道我正在使用〜,但我认为这可能会破坏我的代码。无论 ruby 代码是什么,我可以使用哪些字符作为分隔符来确保我的代码能够正常工作?