Liste des Groupes | Revenir à fco unix |
>accepter "-vn" comme "-v -n",>
accepter "-odir" comme "-o dir",
est-ce que c'est qqch que les usagers utilisent bcp, ça ?
parce que moi je trouve ça plutôt embêtant, avec notamment :
"-onv" = "-o -n -v", ou
"-onv" => dir = "nv" ?
La seconde. Si un argument contient plusieurs options, la première
nécessitant un argument d'option s'impose : l'argument de l'option est
soit la suite, soit l'argument suivant.
(si l'argument suivant est une option, que fait getopt() ?)
ce que je voulais dire c'est qu'à la relecture c'est pas évident du
tout, il faut déchiffrer.
c'est qqch que j'évite au maximum.
ça fait bcp plus usine à gaz que l'analyse linéaire,
donc - entre autres - plus difficile à debugger et à maintenir.
>
bon, si c'est nécessaire on va se le farcir ...
[...]while optind < argc and argv[optind][0] == "-":
if argv[optind] in ["-v", "--verbose"]:
opt_v = True; optind += 1
elif argv[optind] in ["-ni", "--new-iork"]:
opt_ni = True; optind += 1
elif argv[optind] in ["-od", "--output-dir"] and optind+1 < argc:
opt_od = True; dir = argv[optind+1]; optind += 2
else:
wtf ("option inconnue")
>
si je te suis bien, tu considères qu'il n'est pas important de traiter
"--" ?
On peut affiner le cas d'erreur où "-od" est le dernier élément.>
hé oui ! là tu utilises argv[optind+1] sans vérifier qu'il existe !
On peut aussi tester la duplication des options (si le opt_x est déjà>
True).
dans ce cas là on doit faire quoi ? ignorer ou une erreur ?
Le test de cohérence final a exactement la meme structure que celui que>
tu fais en analysant les arguments (sauf qu'il teste seulement les
différents booléens).
je ne dirais pas "exactement", mais je crois que ça va aller.
(À mon avis, ce n'est pas assez gratifiant pour se passer de getopt() ou>
s'écarter de ses conventions, mais chacun son truc.)
je ne comprend pas cette phrase.
C'est Posix, il y a de fortes chances que la dépendance soit déjà>
satisfaite.
je programme en Ada, et ça ne fait pas partie de la norme Ada. donc ça
me fait dépendre de mon compilateur via ses "suppléments".
ça peut être gênant pour ceux qui voudraient utiliser un autre
compilateur que le mien.
Les messages affichés proviennent d'usenet.