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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Comment fait-on pour passer en parametre une fonction à une méthode ?

n°549961
the real m​oins moins
Posté le 24-10-2003 à 18:42:55  profilanswer
 

Reprise du message précédent :
bon je crois que je vais devoir relire tout ça [:gratgrat]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 24-10-2003 à 18:42:55  profilanswer
 

n°549963
the real m​oins moins
Posté le 24-10-2003 à 18:43:01  profilanswer
 

mais merci :jap:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°550108
youdontcar​e
Posté le 24-10-2003 à 23:37:40  profilanswer
 

the real moins moins a écrit :

c'est quoi une "fermeture lexicale"?
(merci d'utiliser des termes simples pour l'explication et au besoin un exemple con et concret:D)

Un exemple, en js :  
function foo (n)  
{
  return function (i) { return n += i }  
}
 
http://www.paulgraham.com/accgen.html

n°550126
nraynaud
lol
Posté le 25-10-2003 à 00:20:24  profilanswer
 

Voilà, dans le cas de youdontcare, si on "embarque" pas le n avec le corps de la fonction retournée, on va avoir du mal à donner une valeur de retour à la fonction retournée par foo au moment où on va l'évaluer. C'est le cas le plus simple où il faut embarquer le "contexte" accessible.
Ce cas est relativement simple, pour une raison qu'explique très bien Eric Meijer : Javascript est une nouvelle syntaxe au dessus du lisp.

n°550147
the real m​oins moins
Posté le 25-10-2003 à 00:52:53  profilanswer
 

[:psywalk]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°550170
Krueger
tout salaire demande dutravail
Posté le 25-10-2003 à 02:14:00  profilanswer
 

Ça m'a l'air intéressant tout ça. T'aurais pas un lien pour en savoir plus ?

n°550208
nraynaud
lol
Posté le 25-10-2003 à 10:47:19  profilanswer
 

non, j'ai rien de plus spécifique que google, c'est au cour d'une soirée bien arrosée il y a 2-3 ans que j'ai appris ce qu'était une closure. Quand au rapport étroit avec les instances imbriquées de java, je l'ai découvert il y a 5-6 mois en bossant avec.

n°550254
Krueger
tout salaire demande dutravail
Posté le 25-10-2003 à 12:20:07  profilanswer
 

Ah ben oui, où j'avais ma tête ce soir. La moitié de mes neurones avait dû s'endormir vu l'heure. :o

n°551220
El_gringo
Posté le 27-10-2003 à 09:11:11  profilanswer
 

nraynaud a écrit :

non, j'ai rien de plus spécifique que google, c'est au cour d'une soirée bien arrosée il y a 2-3 ans que j'ai appris ce qu'était une closure. Quand au rapport étroit avec les instances imbriquées de java, je l'ai découvert il y a 5-6 mois en bossant avec.


 
Comment tu peux discuter de choses comme ça dans une soirée bien arrosée !?? ça requiert une concentration que je serais incapable d'avoir dans ces conditions!

n°551270
nraynaud
lol
Posté le 27-10-2003 à 10:20:14  profilanswer
 

El_gringo a écrit :


Comment tu peux discuter de choses comme ça dans une soirée bien arrosée !?? ça requiert une concentration que je serais incapable d'avoir dans ces conditions!

J'en sais rien. Ce gars là c'était mon prof avant d'être mon pote et déjà quand il était prof, les 2-3 fois que j'ai pas séché son cours, je suis arrivé bien fracassé (because à Brest les soirées sont quand même assez souvent arrosées) et même là, j'ai trouvé que ses sujets de TP/TD étaient intéressants, stimulants et pas compliqués. Mais j'ai toujours été le seul de la promo à comprendre ce qu'il disait et à y voir l'intérèt.

mood
Publicité
Posté le 27-10-2003 à 10:20:14  profilanswer
 

n°551335
El_gringo
Posté le 27-10-2003 à 11:06:23  profilanswer
 

nraynaud a écrit :

Mais j'ai toujours été le seul de la promo à comprendre ce qu'il disait et à y voir l'intérèt.


 
Parce qu'il était bourré lui aussi, c'est ça ?

n°551365
nraynaud
lol
Posté le 27-10-2003 à 11:40:25  profilanswer
 

non, c'est pas du tout le genre à arriver bourré en cours. Mais parce que le niveau de la discussion était en général largement au-dessus du niveau de la classe. Et pour des gens qui n'ont pas l'habitude d'utiliser leur cerveau, bah c'est la moyade.

n°551380
El_gringo
Posté le 27-10-2003 à 11:55:50  profilanswer
 

nraynaud a écrit :

Et pour des gens qui n'ont pas l'habitude d'utiliser leur cerveau, bah c'est la moyade.


 
...autrement dit, dans ta promo, tout le monde à par toi dans t, c ça ?  
Ce serait pas un rien présomptueux !?

n°551418
nraynaud
lol
Posté le 27-10-2003 à 12:27:48  profilanswer
 

El_gringo a écrit :


 
...autrement dit, dans ta promo, tout le monde à par toi dans t, c ça ?  
Ce serait pas un rien présomptueux !?

Si, mais :
1) je vois pas bien le rapport avec les fermetures lexicales
2) C'est généralisé, les gens n'utilisent plus leur cerveau, les étudiants n'en sont qu'une partie dans la masse.
 
Bon avant de se prendre un TT/ban/sodo-gravier par un modo futur-chômeur Bordelais ou belge VBteux, on va revenir sur les fermetures lexicales, les lambda-expressions et tout ce qui concerne le code "embarqué" dans le langage.
 
 
edit : merde, c'est DELPHIteux et pas VBteux, c'est tellement le même esprit ces 2 trucs que je me plante tout le temps entre les 2.


Message édité par nraynaud le 27-10-2003 à 12:42:51
n°551423
the real m​oins moins
Posté le 27-10-2003 à 12:37:42  profilanswer
 

(antp il fait pas de vb)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°555402
neo9205
Posté le 31-10-2003 à 13:04:25  profilanswer
 

Je vous remercie tous pour votre aide  :jap:  mais je ne suis toujours pas parvenu à résoudre mon probleme par moi meme :
 
En fait je vous ai présenté un cas général, pensant m'en sortir avec ça mais en fait c'est plus compliqué que prévu :
 
Je vous explique :
 
J'ai d'un coté une SuperClasse Polynome (qui est capable de faire des polynomes de degrès quelconques grace à la méthode ci-dessous) qui a une méthode de ce style là:
 

Code :
  1. public Polynome(double t[])
  2.     {
  3. tab=new Monome[t.length];
  4. for(int i=0;i<t.length;i++)
  5.     tab[i]=new Monome(t[i],i);
  6.     }


 
et de l'autre coté, j'ai commencé une sous classe "Polynome2" (qui va faire des polynomes du second degrès) qui hérite bien sur de Polynome et qui doit obligatoirement avoir une méthode du type ci dessous et qui fait appel au constructeur de Polynome quelconque pour faire un polynome du second degrès:
 

Code :
  1. public Polynome2(double coef1,double coef2,double coef3);


 
Mais le probleme c'est que l'appel à super doit etre la 1ere instruction ds la méthode et ds mon cas je dois d'abord mettre mes coefficients ds le tableau avant de faire un appel à super()...or ce n'est pas possible :(  alors comment faire ???
 
J'espere que qq1 aura une idée car c'est un probleme qui me casse pas mal la tete  :pt1cable:


Message édité par neo9205 le 31-10-2003 à 13:04:46
n°555409
benou
Posté le 31-10-2003 à 13:18:05  profilanswer
 

neo9205 a écrit :

J'espere que qq1 aura une idée car c'est un probleme qui me casse pas mal la tete  :pt1cable:


ca marche pas ca ?
 

Code :
  1. public Polynome2(double coef1,double coef2,double coef3) {
  2.    super(new double[] {coef1, coef2, coef3});
  3. }

 


---------------
ma vie, mon oeuvre - HomePlayer
n°555430
neo9205
Posté le 31-10-2003 à 13:37:14  profilanswer
 

neo9205 a écrit :


 
Je vais essayer...


 
En effet ça fonctionne parfaitement merci beaucoup  :jap: ,en fait je croyais qu'il fallait passer en parametre une fonction alors que l'on peut initialiser directement en parametre un tableau ce qui est beaucoup plus simple :sol:  
 
encore merci  :jap:

n°555432
benou
Posté le 31-10-2003 à 13:39:01  profilanswer
 

sinon, il faudra que tu fasses comme ca :
 

Code :
  1. protected Polynome() {
  2. }
  3. public Polynome(double[] t) {
  4.    this.setCoefs(t)
  5. }
  6. protected setCoefs(double[] t) {
  7.   tab=new Monome[t.length];
  8.   for(int i=0;i<t.length;i++)
  9.     tab[i]=new Monome(t[i],i);
  10. }

 
 

Code :
  1. public Polynome2(double coef1,double coef2,double coef3) {
  2.    double[] coefs = {coef1, coef2, coef3};
  3.    setCoefs(coefs);
  4. }


---------------
ma vie, mon oeuvre - HomePlayer
n°555434
benou
Posté le 31-10-2003 à 13:40:28  profilanswer
 

neo9205 a écrit :


En effet ça fonctionne parfaitement merci beaucoup  :jap: ,en fait je croyais qu'il fallait passer en parametre une fonction alors que l'on peut initialiser directement en parametre un tableau ce qui est beaucoup plus simple :sol:


là c'est un cas simple donc ca va ... mais parfois on peut pas et il faut passer par une méthode genre celle que je viens de donner au dessus ...
 


---------------
ma vie, mon oeuvre - HomePlayer
n°555444
neo9205
Posté le 31-10-2003 à 13:42:59  profilanswer
 

benou a écrit :


là c'est un cas simple donc ca va ... mais parfois on peut pas et il faut passer par une méthode genre celle que je viens de donner au dessus ...
 
 


 
Oulà... :pt1cable:  Je prefere pas trop regarder le cas compliqué, j'ai eu cho d'avoir eu le cas simple...

n°555447
benou
Posté le 31-10-2003 à 13:45:37  profilanswer
 

neo9205 a écrit :


 
Oulà... :pt1cable:  Je prefere pas trop regarder le cas compliqué, j'ai eu cho d'avoir eu le cas simple...


ca a rien de bien compliqué : c'est juste déporter le code d'initialisation dans une méthode (plutot qu'un constructeur) et mettre un constructeur par défaut (sans param) pour permettre une initialisation plus souple dans les constructeurs des sous-classes ...


---------------
ma vie, mon oeuvre - HomePlayer
n°555543
neo9205
Posté le 31-10-2003 à 15:12:17  profilanswer
 

Ah ok j'ai compris,c'est en effet pas compliqué et bien pratique comme méthode.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[PHP] Passer une commande système unix en php.[VB.net] Comment passer un Array String a une fonction sans variable
Fonction combinatoire (C(n,p))[PHP] Passer un texte avec un '&' comme paramètre
Pointeur vers une méthode ?Fonction texte
Retrouver le schema d'une fonction stockée Oracle via JDBCaligner a droite un image dans un tableau > fonction align marche pas
Plus de sujets relatifs à : Comment fait-on pour passer en parametre une fonction à une méthode ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR