[perl]operation de probabilites
Fermé
fredo10
Messages postés
31
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
4 février 2006
-
4 févr. 2006 à 13:41
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 4 févr. 2006 à 17:21
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 4 févr. 2006 à 17:21
A voir également:
- [perl]operation de probabilites
- Impossible d'effectuer l'opération car vous ne disposez pas des autorisations requises ✓ - Forum MacOS
- Impossible de terminer l'opération car le fichier contient un virus - Forum Virus
- L'opération demandée nécessite une élévation ✓ - Forum LibreOffice / OpenOffice
- Impossible de désinstaller opera ✓ - Forum Windows
- Denon perl pro test - Guide
2 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
4 févr. 2006 à 16:49
4 févr. 2006 à 16:49
Salut,
je veux bien t'aider mais d'abord j'ai besoin de quelques petits détails:
1. que veux tu faire exactement avec tes arguments ?
Tu dis que ton script prends une chaine de caractere qui est une operation arithmetique de probabilite mais je vois 2 arg "1+3+5" et 0,978 ?
2. ton tableau my @tab = $ARGV[1]; contient que le 2ème arg 0,978.
donc print scalar @tab te donnera le resultat 1.
En bref expliques ton problème. D'où tu dois partir et que tu veux obtenir.
Je t'expliquerai un peu la façon d'ecrire le code.
Ex:
print avec paranthéses et consideré comme une fonction
print sans paranthèses et un opérateur de liste.
A la place de
Donc je n'ai pas essayé de déchiffrer ton code pour l'instant puisque je n'ai pas compris ce que tu veux.
je veux bien t'aider mais d'abord j'ai besoin de quelques petits détails:
1. que veux tu faire exactement avec tes arguments ?
Tu dis que ton script prends une chaine de caractere qui est une operation arithmetique de probabilite mais je vois 2 arg "1+3+5" et 0,978 ?
2. ton tableau my @tab = $ARGV[1]; contient que le 2ème arg 0,978.
donc print scalar @tab te donnera le resultat 1.
[lamitest@localhost corbeille]$ cat ddd #! /usr/bin/perl use warnings; use strict; my @tab=$ARGV[1]; print scalar @tab,"\n"; [lamitest@localhost corbeille]$ perl ddd "1+3+5" 0,978 1 [lamitest@localhost corbeille]$Donc je ne vois pas le sens de ta boucle qui incrémente $i de 2 ( $i +=2), à moins que tu préconises utiliser plusieurs arguments et que tu ne veux traiter que les arguments dont leur position et paire (0,2,4....)
En bref expliques ton problème. D'où tu dois partir et que tu veux obtenir.
Je t'expliquerai un peu la façon d'ecrire le code.
Ex:
print avec paranthéses et consideré comme une fonction
print sans paranthèses et un opérateur de liste.
[lamitest@localhost corbeille]$ cat print #! /usr/bin/perl use warnings; use strict; print (1+2),3; print "\n"; print 1+2,3; print "\n"; [lamitest@localhost corbeille]$ perl print print (...) interpreted as function at print line 6. Useless use of a constant in void context at print line 6. 3 33 [lamitest@localhost corbeille]$
A la place de
if(scalar @ARGV < 2) { print("201event needs some arguments \n"); exit 0; }écrit plutôt
while( @ARGV < 2){ die "201event needs some arguments \n"; last; }ou même
while( @ARGV < 2){ die "201event needs some arguments \n" and last; }
Donc je n'ai pas essayé de déchiffrer ton code pour l'instant puisque je n'ai pas compris ce que tu veux.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
4 févr. 2006 à 17:21
4 févr. 2006 à 17:21
Encore une chose. Quand tu fait un test d'égalité en perl
Je ne crois pas que '-' est un nombre.
Plutôt
if($tab[$i] == '-')sache qu'il y a un opérateur pour les nombres == et un pour les chaînes de caractères eq.
Je ne crois pas que '-' est un nombre.
Plutôt
if($tab[$i] eq '-')