■
- インストール方法
以下のjarをプロジェクトに追加。
https://scripting.dev.java.net/servlets/ProjectDocumentList?folderID=0
より、jsr223-engines.zipを解凍して、jrubyフォルダ下の
- jruby-engine.jar
http://jruby.codehaus.org/
より、jruby-bin-1.0.3.zipを解凍して、libフォルダ下の
- jruby.jar
- asm-2.2.3.jar
- backport-util-concurrent.jar
試してみたソース
package sample; import javax.script.ScriptEngine; import javax.script.ScriptEngineFactory; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class SampleEngine { public static void main(String[] args) { String rubyCode = "file = open(\"C:/tmp/sample.txt\")\n"; rubyCode += "str = file.read\n"; rubyCode += "file.close\n"; rubyCode += "puts str.include?(\"ai\") \n"; ScriptEngineManager manager = new ScriptEngineManager(); for (ScriptEngineFactory factory : manager.getEngineFactories()) { System.out.println(factory.getEngineName() + ":"); for (String name : factory.getNames()) { System.out.println("\t" + name); } } ScriptEngine engine = manager.getEngineByName("ruby"); try { engine.eval(rubyCode); } catch (ScriptException e) { e.printStackTrace(); } } }
実行結果は、ファイルの中身にaiって文字列あれば、trueが表示され、なければfalseが表示されます。