Class: Jython::Interpreter
- Inherits:
-
Object
- Object
- Jython::Interpreter
- Defined in:
- lib/jython/interpreter.rb
Instance Method Summary collapse
- #compile(code, result = nil) ⇒ Object
- #eval(code) ⇒ Object
- #exec(code, result = nil) ⇒ Object
-
#initialize ⇒ Interpreter
constructor
A new instance of Interpreter.
- #set(var, value) ⇒ Object
- #to_java(obj) ⇒ Object
Constructor Details
#initialize ⇒ Interpreter
Returns a new instance of Interpreter.
14 15 16 |
# File 'lib/jython/interpreter.rb', line 14 def initialize() @interpreter = PythonInterpreter.new() end |
Instance Method Details
#compile(code, result = nil) ⇒ Object
34 35 36 |
# File 'lib/jython/interpreter.rb', line 34 def compile(code, result=nil) @interpreter.compile(code) end |
#eval(code) ⇒ Object
18 19 20 21 |
# File 'lib/jython/interpreter.rb', line 18 def eval(code) obj = @interpreter.eval(code) return to_java(obj) end |
#exec(code, result = nil) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/jython/interpreter.rb', line 23 def exec(code, result=nil) @interpreter.exec(code) if !result.nil? to_java(@interpreter.get(result)) end end |
#set(var, value) ⇒ Object
30 31 32 |
# File 'lib/jython/interpreter.rb', line 30 def set(var, value) @interpreter.set(var, value) end |
#to_java(obj) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/jython/interpreter.rb', line 38 def to_java(obj) if obj.java_kind_of? org.python.core.PyBoolean Py.tojava(obj, "java.lang.Boolean") elsif obj.java_kind_of? org.python.core.PyInteger Py.tojava(obj, "java.lang.Integer") elsif obj.java_kind_of? org.python.core.PyLong Py.tojava(obj, "java.math.BigInteger") elsif obj.java_kind_of? org.python.core.PyString Py.tojava(obj, "java.lang.String") elsif obj.java_kind_of? org.python.core.PyList obj.toArray() elsif obj.java_kind_of? org.python.core.PyDictionary java.util.HashMap.new(obj) else obj.to_java.java_class end end |