- ¿Puede JRuby trabajar con Java Annotations?
No. Ruby no tiene anotaciones. Sin embargo, el compilador ruby2java le permitirá agregar anotaciones que se usan al compilar en un archivo de clase.
- ¿es posible utilizar la reflexión de JRuby en la clase de Java?
Sí:
java.util.Vector.methods.include? '[]' # => true
- es posible utilizar la reflexión de Java en la clase JRuby?
¿Cuándo se incrusta JRuby usando BSF o JSR223? Solo en la medida en que esas tecnologías lo permitan. Cuando se usa ruby2java? Sí. Genera archivos Java normales .class.
- tengo clases ejecutables en JRuby?
No estoy exactamente seguro de lo que estás preguntando.
- ¿es posible redefinir la clase Java dentro del script JRuby? (Del mismo modo que lo puede volver a definir por ejemplo entero en C Ruby.)
Sí, se puede parche mono en JRuby, pero los cambios no son visibles desde el lado de Java, simplemente JRuby:
import java.util.Vector
class Vector
def foo
"foo!"
end
end
v = java.util.Vector.new
v.foo # => "foo!"
- ¿Existen otras limitaciones que impidan utilizar JRuby como parte de cualquier aplicación Java?
Un montón de little gotchas abundan cuando se utiliza Java de JRuby. ruby2java todavía está en su infancia, y aún no estoy seguro de que esté listo para un entorno de producción. Aparte de eso, la atención se centró más en las secuencias de comandos con BSF y JSR223, que pueden o no adaptarse a sus propósitos.
clases ejecutables significa que la definición de clase es el código ejecutable, por ejemplo. http://yehudakatz.com/2009/06/04/the-importance-of-executable-class-bodies/ o http://split-s.blogspot.com/2005/12/rubys-executable-class-definitions .html –
En ese caso, sí, las clases de JRuby son exactamente como las clases de Ruby. – Pesto
Debe tenerse en cuenta que las Anotaciones son compatibles con la llamada 'java_annotación 'TheAnnotation'' –