JRuby

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání
JRuby
Vývojář Charles Oliver Nutter, Thomas Enebo, Ola Bini a Nick Sieger
Aktuální verze 9.2.8.0 (12. srpna 2019)
Operační systém multiplatformní
Platforma Java Virtual Machine
Vyvíjeno v Ruby a Java
Typ softwaru interpreter programovacího jazyka Ruby
Licence CPL/GPL/LGPL
Web www.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[editovat | editovat zdroj]

Volání Javy z JRuby[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  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[editovat | editovat zdroj]

  • 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. (anglicky) 
  • 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. (anglicky) 
  • KUTLER, Chris; LEONARD, Brian. NetBeans Ruby and Rails IDE with JRuby. First. vyd. [s.l.]: Apress, 4. květen 2009. Dostupné online. ISBN 1-4302-1636-0. S. 160. (anglicky)  Archivováno 27. 8. 2012 na Wayback Machine
  • 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. (anglicky) 
  • KUTNER, Joe. Deploying with JRuby: Deliver Scalable Web Apps using the JVM. First. vyd. [s.l.]: Pragmatic Bookshelf, 22. srpen 2012. Dostupné online. ISBN 978-1934356975. S. 200. (anglicky) 

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]