- può lavoro JRuby con Java annotazioni?
No. Ruby non ha annotazioni. Il compilatore ruby2java consentirà comunque di aggiungere annotazioni che vengono utilizzate durante la compilazione in un file di classe.
- è possibile utilizzare la riflessione di JRuby su classe Java?
Sì:
java.util.Vector.methods.include? '[]' # => true
- è possibile utilizzare la riflessione da Java in JRuby classe?
Quando l'incorporamento JRuby utilizza BSF o JSR223? Solo nella misura in cui tali tecnologie lo consentono. Quando si usa ruby2java? Sì. Genera normali file .class di Java.
- ho classi eseguibili in JRuby?
Non sono esattamente sicuro di cosa stai chiedendo.
- è possibile ridefinire la classe Java all'interno dello script JRuby? (Allo stesso modo posso ridefinire esempio Integer in C Ruby.)
Sì, è possibile patch di scimmia in JRuby, ma le modifiche non sono visibili dal lato Java, basta JRuby:
import java.util.Vector
class Vector
def foo
"foo!"
end
end
v = java.util.Vector.new
v.foo # => "foo!"
- ci sono altre limitazioni che impediscono l'uso di JRuby come parte di qualsiasi applicazione Java?
Un sacco di little gotchas abbondano quando si utilizzano Java da JRuby. ruby2java è ancora agli inizi e non sono ancora sicuro che sia pronto per un ambiente di produzione. Oltre a questo, l'attenzione si è concentrata maggiormente sullo scripting con BSF e JSR223, che possono o meno soddisfare i tuoi scopi.
classi eseguibili significa che la definizione della classe è codice eseguibile, ad es. 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 –
In tal caso, sì, le classi JRuby sono esattamente come le classi Ruby. – Pesto
Si noti che le annotazioni sono supportate con la chiamata ''Annazione '' java_annotation' –