Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3221 connectés 

 


Dernière réponse
Sujet : java: fonction eval()
wouatouwouatou Merci Renaud... Même si c pas un algo mais du codage :D
Mais le pb c que toto dans ce cas est une instance...
En fait je souhaite faire un truc du genre:
 
qd je clique sur un bouton un objet est crée dynamiquement, et possède un identifiant (un nom koi), pour que je puisse l'utiliser plus tard... Mais bien sûr, tout ca sans tableau ni liste ou encore vecteurs !!!!
C'est ca mon plus gros bleme... Mais je crois ke je vais me résigner et prendre un nombre d'objets fixes... :(

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
wouatouwouatou Merci Renaud... Même si c pas un algo mais du codage :D
Mais le pb c que toto dans ce cas est une instance...
En fait je souhaite faire un truc du genre:
 
qd je clique sur un bouton un objet est crée dynamiquement, et possède un identifiant (un nom koi), pour que je puisse l'utiliser plus tard... Mais bien sûr, tout ca sans tableau ni liste ou encore vecteurs !!!!
C'est ca mon plus gros bleme... Mais je crois ke je vais me résigner et prendre un nombre d'objets fixes... :(
- Renaud - Tu peux toujours jouer avec la reflection.
 
Mais dans to cas, tu veux appeler la methode dort() sur l'objet toto. Or tu n'a pas de pointeur sur l'object toto, a moins que toto soit une classe et dort soit statique...
 
l'algo (en supposant toto une classe et dort statique):
s = "toto.dort()"
Class c = Class.forName(s.substring(0, s.indexOf("." ));
Method m = c.getDeclaredMethod(s.substring(s.indexOf("." )), null);
m.invoke(null, null);
 
Renaud
wouatouwouatou introspection ??!!! :confused:
Ca me dit qqche... mais koi ??? me souviens plus :D
 
Une petite precision plzzz.
BENB C'est pas l'introspection ca justement
wouatouwouatou oki oki.. mais ca aurait ete pratique... :)
BifaceMcLeOD Une telle fonction eval() n'est réaliste que dans un langage interprété ; c'est un non-sens dans un langage compilé (je vous rappelle que Java est compilé).
 
Ceci dit, comme Java est fourni avec tout une librairie de classes, dont le compilateur Java lui-même (puisqu'il est écrit en Java), il est possible de générer une classe, et de le faire compiler (mais il me semble que les fonctions en question sont non documentées. Dans ce cas, il faut aller fouiner dans les sources du JDK). Après, c'est une classe compilée comme une autre...
levioloneux voici un exemple mais c'est en javascript:
b.value=eval("form.prix"+ c.toString() + ".value" );
 
c.tostring() c'est pour avoir prix1,prix2,prix3...
 
Tu me dira si ça marche !
a+
kadreg Metaclass, tu va prendre froid :D
 
Si, ya le source de beanshell là :
 
http://www.beanshell.org/bsh-1.1alpha3-src.jar
 
update.
Y'avait, le ficheir n'esxiste plus. En passant par le CVS par là :
http://cvs.sourceforge.net/cgi-bin [...] =beanshell
 
On a le code source.

 


--Message édité par kadreg--

wouatouwouatou je reviens du lien... Pas mal le truc.. Mais ce qui serait cool, ce serait de pouvoir voir le source de leur méthode eval() :D
Mais je crois pas que ce soit possible :(
Ptet qu'en passant par les metaclasses ou qqchose com ca :confused:
wouatouwouatou je l'ai encore ton bouquin ??!!
Putain, j'ai du le paumer qq part :D
Par contre j'ai retrouvé ton cd... celui qui va avec ton bouquin !!! :D:D:D
 
Mais précise ton truc bourrin !!
thegti Ouais aidez le, merde !!
Pour une fois qu'il pose une bonne question :D
 
Perso, je pense que c'est possible
Tu peut y arriver d'une facon détournée:
j'avais fait pour mon projet de maitrise, un programme java qui créait un fichier .java, le compilait en .class et instanciait l'objet derrière
Mais trop bourrin, il doit y avoir une méthode, regardes dans mon bouquin
WiseTechi Waouw,
alors là tu nous poses une sacré colle !
Je ne sais pas si c'est vraiment possible à faire en java ce genre de truc...
Tu essaie de faire du java interprêté en quelque sorte ??
 
Si c'est ça, je sais que beanshell permet de faire un truc du genre (c'est du java interprêté en mode console)
http://www.beanshell.org/
wouatouwouatou je me remerci puisque je me répond :D..
Allez aidez moi !!!! :cry:
wouatouwouatou je cherche une methode qui fonctionne comme la fonction
eval(exp)...
 
Par exemple, si on fait eval("toto"+"1"+".dort();" ) ca nous exécute toto1.dort()...
 
Merci pour toutes réponses ...

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)