On Thursday 02 November 2006 20:22, Honza wrote:
> Ahoj,
>
> ruby jako jazyk zboznuju a tohle me fakt potesilo. Vypada to moc dobre.
> Javovska aplikace uz nemusi byt tak uplne javovska? ;-)
To uz davno byt nemusi, ale ja se spis zhrozil. Priznam se, ze jsem to API
nikdy nevidel, ale to
ScriptEngine jruby = new ScriptEngineManager().getEngineByName("jruby");
mne pekne vydesilo. To pri kazdem volani skriptu instanciuji novy
ScriptEngineManager? To je prece humus, ne? Kdys jsem tu slysel o scripting
API, chtel jsem se na nej podivat, jak to vlastne pracuje, ale tento jeden
radek mne pekne znechutil a odradil.
> Dalsi otazka je, jak to bude rychle? :(
>
> Honza
>
> Martin Kuba napsal(a):
> > Hraju si s novym scripting API v JDK 6.0 a mam potrebu se podelit o
> > zazitky :-) Za skriptovaci jazyk jsem si zvolil JRuby.
> >
> > Co mne prijde genialni je volne michani trid z Java a z Ruby.
> > Konkretne si muzu v Jave nadefinovat interface, v Ruby ho implementovat
> > jako Ruby tridu, a tu vratit zpatky do Javy:
> >
> > --- MujJavaInterface.java ---
> > package cz.cesnet.meta.jruby;
> >
> > public interface MujJavaInterface {
> > String mojeMetoda(Long num);
> > }
> >
> >
> > ---- mujruby.rb ---
> >
> > class MojeImplClass < Java::cz.cesnet.meta.jruby.MujJavaInterface
> > def mojeMetoda(num)
> > return "Ja jsem metoda z Ruby, num="+num.to_s()
> > end
> > end
> >
> >
> > --- kod nekde ----
> >
> > ScriptEngine jruby = new ScriptEngineManager().getEngineByName("jruby");
> > jruby.eval(new BufferedReader(new FileReader("mujruby.rb")));
> >
> > MujJavaInterface mji =
> > (MujJavaInterface) jruby.eval("MojeImplClass.new");
> > String s = mji.mojeMetoda(1l);
> >
> >
> > Ze to jde opacne (z Javy do Ruby) jsem cekal, koneckoncu v kazdem
> > browseru se daji z JavaScriptu volat Java tridy, ale tohle mne nadchlo.
> >
> > Makub
--
Oto 'tapik' Buchta, [EMAIL PROTECTED]
Senior Engineer, Systinet, Mercury Division
http://www.mercury.com
--
Oto 'tapik' Buchta, [EMAIL PROTECTED]
http://www.buchtovi.cz
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________