Oto 'tapik' Buchta píše v Čt 02. 11. 2006 v 20:59 +0100:
> 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.
Pokud dobre koukam a chapu tak engine si pomoci
ScriptEngineManager().getEngineByName("jruby") vytvorim jednou a pak uz
jenom volam eval, eval, eval na skripty retezce a beru a nastavuju si
hodnoty pomoci get/setBindings a musi to frcet ne?
pf
>
> > 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
>