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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Modifier les variables d'appel...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifier les variables d'appel...

n°915440
snipix
Combien dites-vous ? 30 THz ?
Posté le 06-12-2004 à 08:58:03  profilanswer
 

        Bonjour,
 
Je voudrais faire cela :
 

Code :
  1. function mafunc()
  2. {
  3.     if [ $1 -ge 60 ]
  4.     then
  5.       $1=`expr $1-60` 
  6.     fi
  7. }


 
Mais comment ??? $1= ca fonctionne pas fort....
Mais surtout, est-ce possible ???? Car je ne peux pas retourner la variable, j'ai plusieurs variables d'appel à modifier dans cette fonction.
 
Merci d'avance pour vos réponses.


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
mood
Publicité
Posté le 06-12-2004 à 08:58:03  profilanswer
 

n°915450
snipix
Combien dites-vous ? 30 THz ?
Posté le 06-12-2004 à 09:18:07  profilanswer
 

Alors ???
 
Personne ? Même as une petite idée ? à savoir que je prend tout de manière à pouvoir retourner 2 variables modifier de cette fonction.


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
n°915586
GC60240
Posté le 06-12-2004 à 12:05:59  profilanswer
 

Peut etre que je vais te dire une betise, j'suis pas bien fort en prog lol, je debute, mais essaye avec %1 a la place de $1.
 
ps: j'adore ta signature lol

n°915687
Zaib3k
Posté le 06-12-2004 à 13:32:30  profilanswer
 

tu peux faire un return dans ta function.


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°915693
Zaib3k
Posté le 06-12-2004 à 13:38:29  profilanswer
 

Code :
  1. function mafunc()
  2. {
  3.         [ $1 -gt 60 ] && return $(($1-60))
  4. }
  5. mafunc 80
  6. echo $?


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°915857
matafan
Posté le 06-12-2004 à 15:31:22  profilanswer
 

"return" c'est fait pour retourner un code d'erreur, pas une valeur a utiliser ailleurs.
 
Tu ne peux pas modifier $1 car $1 est local a ta fonction (c'est le premier argument passe a la fonction. Donc tu as deux solutions :

  • Utiliser une autre variable, genre TOTO=`expr $1 - 60`
  • Faire un echo du resultat dans ta fonction, et appeler ta fonction entre back quotes

n°915861
Zaib3k
Posté le 06-12-2004 à 15:33:27  profilanswer
 

mon code fonctionne :D mais l'idée du echo est plus propre.
 
par contre je conseille l'utilisation de $() plutot que ``. cai mieux :o


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°916000
matafan
Posté le 06-12-2004 à 17:15:23  profilanswer
 

Ton code fonctionne, mais c'est limite a 0-255.

n°916020
Zaib3k
Posté le 06-12-2004 à 17:22:45  profilanswer
 

ha ouais merde :)
 
le echo est dc la solution. :)


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°917926
Sve@r
Posté le 08-12-2004 à 13:55:29  profilanswer
 

Zaib3k a écrit :

mon code fonctionne :D mais l'idée du echo est plus propre.
 
par contre je conseille l'utilisation de $() plutot que ``. cai mieux :o


 
Le "$()" est caractéristique d'un certain shell. Les backquotes `` sont standard. Le mieux serait donc d'utiliser le standard multishell plutôt que la caractéristique monoshell non ???
 
Par ailleurs, l'utilisation du "echo", qouique très bonne, te condamne à ne mettre, dans ta fonction, que des "echo" destinés à être récupérés. Tu n'as plus le droit de mettre du "echo" pour afficher des informations diverses et agréables mais qui seront vues comme "parasites" lorsque tu feras "var=`maFonction`


Message édité par Sve@r le 08-12-2004 à 13:57:55

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Modifier les variables d'appel...

 

Sujets relatifs
appel méthode c++ depuis c[php] Array à plusieurs variables
Comment initialiser 100 variables rapidement[C] Threads et variables
Modifier le curseur de la souris lors du passage entre 2 frames?Passage de variables VB vers C++
[C++] Lié des variables a l'intérieur d'une struct à...appel procedure ac tableau
[Netbeans] où est l'option à modifier ?JTabbedPane comment modifier la tailler des tabs?
Plus de sujets relatifs à : Modifier les variables d'appel...


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