Re: règle pour écrire les "usage: ..."

Liste des GroupesRevenir à fco unix 
Sujet : Re: règle pour écrire les "usage: ..."
De : fantome.forums.tDeContes (at) *nospam* free.fr.invalid (Thomas)
Groupes : fr.comp.os.unix
Date : 13. Jul 2022, 21:36:48
Autres entêtes
Organisation : Guest of ProXad - France
Message-ID : <62cf1ed0$0$9166$426a34cc@news.free.fr>
References : 1 2 3 4 5 6 7 8 9
User-Agent : MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)
In article <tamt6m$2338$1@cabale.usenet-fr.net>,
 Olivier Miakinen <om+news@miakinen.net> wrote:

Le 13/07/2022 18:24, Thomas a écrit :
 
mais surtout, Est-ce que, à ton avis en tant qu'usager, ceci est
acceptable (c'est ça qu'Olivier avait soulevé) ?
 
$ ./rapid gui_file -v
Unexpected switch -v
Usage: ./rapid [-v] [gui_file]
       ./rapid [-v] -ni [-od output_directory] gui_file ...
 
Pour moi, il est tout à fait normal de refuser une option -v après
le premier argument qui n'est pas une option (gui_file).

je disais à Alain qu'amha il faut le faire si on veut "rester dans
l'esprit" de getopt(),
mais si je te comprend bien, ça n'a tellement pas d'importance qu'il ne
faut pas que je m'embête avec ça ? :-)

 
Cela dit, le message « Unexpected switch -v » est inapproprié. Selon
que ta syntaxe accepte ou non plus d'un fichier, ce sera soit :
 File not found '-v' (sauf bien sûr si le fichier -v existe)
soit :
 No more than one file! (gui_file -v)

j'ai tendance à penser qu'en l'absence de "--", tout argument commençant
par "-" est une option, et que, sorties de la zone prévue pour elles,
elles sont mal positionnées.

ça me parait un peu cafouilleux de dire : les noms de fichier commençant
par "-" sont autorisés, à condition d'en trouver un qui ne commence pas
par "-" à mettre en 1er.


en gros, mon éducation Ada c'est : "avertir l'usager qu'il a peut-être
fait une erreur, et le laisser corriger - plutôt que de choisir une
interprétation, et de prendre l'initiative de faire qqch que peut-être
il ne voulait pas".
je sais que les dev C ont une toute autre approche ...

typiquement, si je passe à getopt() plus tard, la même ligne de commande
changera de signification, sans qu'aucune des 2 ne fasse une erreur ...
ce qui me parait dangereux.


 
$ ./rapid -ni -od p -v u
Unexpected switch -v
Usage: ./rapid [-v] [gui_file]
       ./rapid [-v] -ni [-od output_directory] gui_file ...
 
Là ça me semble brutal pour l'utilisateur. Tant que tu en es à parser
des options et pas des fichiers, il n'y a à mon avis aucune raison
de refuser une option -v

j'ai oublié de demander en passant : je peux garder le même "Usage:"
même s'il laisse penser que l'ordre est important ? l'important c'est
qu'en réalité ça ne soit pas le cas ?

 
$ ./rapid -od p -ni -v u
Unexpected switch -od
Usage: ./rapid [-v] [gui_file]
       ./rapid [-v] -ni [-od output_directory] gui_file ...
 
Là aussi, encore que ta syntaxe est assez particulière. Comme Nicolas
je ne sais pas ce que fait ton logiciel et je ne l'utiliserai sans
doute jamais,

et je vous remercie tous de prendre du temps pour moi malgré ça :-))

(ce que j'espère au fond, c'est qu'un jour vous trouviez mon logiciel
utile et que vous constatiez le résultat de vos "contributions")

seulement je crois comprendre que l'option -od ne peut
exister que dans le cas où tu as déjà l'option -ni,

oui.
rappelles-toi, tu m'avais suggéré :
usage: rapid [-v] [ gui_file | -ni [-od dir] gui_file... ]

ce qui me semble
peu habituel.

ah ! ....

 
Te serait-il possible d'accepter l'option -od dans tous les cas lors du
parsing, en disant juste 'attention cette option ne fait rien dans cette
version de la syntaxe' ? Bon, je ne suis pas sûr que ce soit une bonne
idée non plus.

tu veux dire, faire un avertissement au lieu d'une erreur ?
actuellement il fait un avertissement pour les options inconnues,
ce que j'ai transformé en erreur parce que ça me parait bcp plus sur
(voir plus haut).

 
Ou alors tu changes la syntaxe pour qu'il y ait *une* sous-commande
obligatoire, plus les paramètres optionnels, et enfin les paramètres
positionnels. Par exemple :
 
Usage: ./rapid i [-v] gui_file
       ./rapid ni [-v] [-od output_directory] gui_file...

oui, comme dans svn :-)
intéressant :-)

dans le fil "Gérer soi-même ses numéros de version" j'ai indiqué que je
voulais faire un "split" (ou un "fork", je ne sais pas comment tu
appelles ça), ce qui réglerais ce pb,
mais :
- j'essaye de faire en sorte que chaque commit soit du bon code en
fonction de mes connaissances du moment (et si possible même si je sais
que ça ne va pas durer, si ça ne demande pas trop de travail),
- il se peut que j'en ai besoin de toutes façons, si je demande à mon
"rapid-ni" de savoir faire d'autres choses, pour éviter de multiplier
les exécutables.

du coup, si je comprend bien :
- l'usage est que la sous-commande est sans "-", obligatoire, et tjr au
début,
- ensuite, les paramètres optionnels, tous avec "-" et tous
interchangeables,
- enfin les paramètres positionnels -> ça peut être autre chose qu'une
liste de fichiers ? pourquoi "positionnels" ?
(et d'après toi ils peuvent commencer par "-" sauf le 1er ?)



usage: rm [-f | -i] [-dPRrvW] file ...
 
qu'est-ce que ça signifie ?

Les options -i et -f sont contradictoires : l'une demande confirmation
à chaque fichier alors que l'autre dit au contraire d'y aller par force
sans aucune demande de confirmation. Elles sont donc exclusives.

merci :-)

--
RAPID maintainer
http://savannah.nongnu.org/projects/rapid/

Date Sujet#  Auteur
9 Jul 22 * règle pour écrire les "usage: ..."35Thomas
9 Jul 22 +* Re: règle pour écrire les "usage: ..."31ST
9 Jul 22 i`* Re: règle pour écrire les "usage: ..."30Thomas
9 Jul 22 i `* Re: règle pour écrire les "usage: ..."29Alain Ketterlin
11 Jul 22 i  `* Re: règle pour écrire les "usage: ..."28Thomas
11 Jul 22 i   `* Re: règle pour écrire les "usage: ..."27Olivier Miakinen
11 Jul 22 i    +* Re: règle pour écrire les "usage: ..."24Alain Ketterlin
13 Jul 22 i    i`* Re: règle pour écrire les "usage: ..."23Thomas
13 Jul 22 i    i +* Re: règle pour écrire les "usage: ..."21Alain Ketterlin
13 Jul 22 i    i i`* Re: règle pour écrire les "usage: ..."20Thomas
13 Jul 22 i    i i +* Re: règle pour écrire les "usage: ..."15Nicolas George
13 Jul 22 i    i i i`* Re: règle pour écrire les "usage: ..."14Thomas
13 Jul 22 i    i i i +* Re: règle pour écrire les "usage: ..."12Olivier Miakinen
13 Jul 22 i    i i i i`* Re: règle pour écrire les "usage: ..."11Thomas
13 Jul 22 i    i i i i `* Re: règle pour écrire les "usage: ..."10Olivier Miakinen
14 Jul 22 i    i i i i  +* Re: règle pour écrire les "usage: ..."6Nicolas George
9 Aug 22 i    i i i i  i`* Re: règle pour écrire les "usage: ..."5Thomas
10 Aug 22 i    i i i i  i `* Re: règle pour écrire les "usage: ..."4Nicolas George
14 Aug 22 i    i i i i  i  `* Re: règle pour écrire les "usage: ..."3Thomas
14 Aug 22 i    i i i i  i   `* Re: règle pour écrire les "usage: ..."2Nicolas George
19 Apr 23 i    i i i i  i    `- Re: règle pour écrire les "usage: ..."1Thomas
14 Jul 22 i    i i i i  `* Re: règle pour écrire les "usage: ..."3Thomas
14 Jul 22 i    i i i i   `* Re: règle pour écrire les "usage: ..."2Olivier Miakinen
31 Jul 22 i    i i i i    `- Re: règle pour écrire les "usage: ..."1Thomas
13 Jul 22 i    i i i `- Re: règle pour écrire les "usage: ..."1Nicolas George
13 Jul 22 i    i i `* Re: règle pour écrire les "usage: ..."4Alain Ketterlin
14 Jul 22 i    i i  `* Re: règle pour écrire les "usage: ..."3Thomas
14 Jul 22 i    i i   `* Re: règle pour écrire les "usage: ..."2Olivier Miakinen
31 Jul 22 i    i i    `- Re: règle pour écrire les "usage: ..."1Thomas
13 Jul 22 i    i `- Re: règle pour écrire les "usage: ..."1Nicolas George
11 Jul 22 i    +- Re: règle pour écrire les "usage: ..."1Thomas
14 Aug 22 i    `- Re: règle pour écrire les "usage: ..."1Thomas
9 Jul 22 `* Re: règle pour écrire les "usage: ..."3Olivier Miakinen
9 Jul 22  `* Re: règle pour écrire les "usage: ..."2Thomas
9 Jul 22   `- Re: règle pour écrire les "usage: ..."1Olivier Miakinen

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal