我有一个由 Velocity 模板支持的工具,它在从 Web 应用程序捕获输入后静态创建一个文件(类似 Ruby 的语法),以便与其他工具(Vagrant - 内置 Ruby)一起使用。然而,现在我希望支持与目前所做的相反的操作,以便我可以在我的工具中浏览之前创建的 Vagrant 文件,并让其中定义的设置填充我的 Java Bean,并最终出现在 Web 应用程序的 UI 中。
有没有办法解释 Ruby 语法,例如:
config.vm.define :firstMachine do |master|
master.vm.hostname = "boxupp.test.first"
master.vm.box = "Ubuntu"
master.vm.box_url = "http://www.google.com"
master.vm.provider "virtualbox" do |prov|
prov.customize ["modifyvm", :id, "--memory", "384"]
end
end
并在 Java Bean 中填充相应的值。
我偶然发现了 JRuby,但它看起来像是另一个脚本平台。
感谢您的宝贵时间!!
最佳答案
如果您只想读取/解析语法,那么您需要编写(或找到)一个用 Java 编写的 Ruby 解析器。
如果您的意思是解释...如执行/运行...Java 中的 Ruby 代码,那么您需要:
可以从 Java 调用的 Ruby 解释器;请参阅https://github.com/jruby/jruby/wiki/JRubyAndJavaCodeExamples
或者将 Ruby 代码转换为真正的 Java 方法的方法;请参阅https://github.com/jruby/jruby/wiki/GeneratingJavaClasses
I stumbled across JRuby but it looks like another Scripting platform.
Ermm ...它是 Ruby 语言的实现。
关于java - 阅读java中的ruby语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21131593/