JRuby

JRuby
VývojářCharles Oliver Nutter, Thomas Enebo, Ola Bini a Nick Sieger
Aktuální verze9.4.9.0 (4. listopadu 2024)
Operační systémmultiplatformní
PlatformaJava Virtual Machine
Vyvíjeno vRuby a Java
Typ softwaruinterpreter programovacího jazyka Ruby
LicenceCPL/GPL/LGPL
Webwww.jruby.org/
Některá data mohou pocházet z datové položky.

JRuby je implementace programovacího jazyka Ruby na JVM, napsaná převážně v Javě. JRuby je úzce integrován s Javou a dovoluje obousměrný přístup mezi kódem v Javě a v Ruby. (Podobně jako Jython.)

Ukázka kódu

Volání Javy z JRuby

Jedna ze silných stránek JRuby je jeho schopnost volat třídy z platformy Java. K tomu je nejdříve potřeba získat podporu Javy příkazem require 'java'. Následující příklad předvede vytvoření JFrame s JLabel.

require 'java'

frame = javax.swing.JFrame.new
frame.getContentPane.add javax.swing.JLabel.new('Hello, World!')
frame.setDefaultCloseOperation javax.swing.JFrame::EXIT_ON_CLOSE
frame.pack
frame.set_visible true

Volání JRuby z Javy

JRuby může být stejně snadno volán z Javy, buď pomocí JSR 223[1] Scripting pro Javu 6, nebo frameworku Apache Bean Scripting.

//Example using JSR 233 Scripting for Java 6
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine rbEngine = mgr.getEngineByExtension("rb");
try {
    rbEngine.eval("puts 'Hello World!'");
} catch (ScriptException ex) {
    ex.printStackTrace();
}

Chyby v JRuby

JRuby umožňuje načíst a spustit vzdálený kód ve funkci, která k tomu není určena.[2]

Odkazy

Reference

  1. JSR 223: Scripting for the Java Platform Specification Request [online]. Oracle Corporation [cit. 2013-09-04]. Dostupné online. (anglicky) 
  2. KRČMÁŘ, Petr. Chyby v programovacích jazycích ohrožují bezpečnost aplikací. root.cz [online]. 12. 12. 2017. Dostupné online. ISSN 1212-8309. 

Literatura

  • BINI, Ola. Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java. First. vyd. [s.l.]: Apress, 24. září 2007. Dostupné online. ISBN 1-59059-881-4. S. 330. 
  • EDELSON, Justin; LIU, Henry. JRuby Cookbook. First. vyd. [s.l.]: O'Reilly Media, 18. listopad 2008. Dostupné online. ISBN 0-596-51980-X. S. 222. 
  • KUTLER, Chris; LEONARD, Brian. NetBeans Ruby and Rails IDE with JRuby. First. vyd. [s.l.]: Apress, 4. květen 2009. Dostupné v archivu pořízeném dne 2012-08-27. ISBN 1-4302-1636-0. S. 160. 
  • O NUTTER, Charles; ENEBO, Thomas; SIEGER, Nick; BINI, Ola; DEES, Ian. Using JRuby: Bringing Ruby to Java. First. vyd. [s.l.]: Pragmatic Bookshelf, 4. únor 2011. Dostupné online. ISBN 978-1934356654. S. 300. 
  • KUTNER, Joe. Deploying with JRuby: Deliver Scalable Web Apps using the JVM. First. vyd. [s.l.]: Pragmatic Bookshelf, 22. srpen 2012. Dostupné v archivu pořízeném dne 2013-09-15. ISBN 978-1934356975. S. 200. 

Související články

Externí odkazy