#526 Le 28/12/2010, à 14:21
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
Bon, dans ce cas l'intérêt est plus que limité, alors…
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#527 Le 28/12/2010, à 14:23
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Ça je n'ai pas dis une seule fois le contraire , j'ai juste contesté ton
l'autocomplétion des commandes est un peu impossible.
Or, c'est possible.
Dernière modification par grim7reaper (Le 28/12/2010, à 14:24)
Hors ligne
#528 Le 28/12/2010, à 14:30
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
Oui, c'est vrai que j'avais oublié les !truc.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#529 Le 28/12/2010, à 14:34
- Elzen
Re : /* Topic des codeurs couche-tard [3] */
Avec Vim de multiples appuis font défiler les solutions possibles, avec Bash non.
Curieusement, il me semble que l'interpréteur de commandes de Windows (vous savez, le « cmd.exe » tout naze) fait de l'auto-complétion « à la Vim »…
Sinon, bien vu pour les !show, grim7reaper
D'ailleurs, en parlant de ça, je voulais rajouter le texte de la GNU GPL dans la fenêtre « about » de ma calculatrice, vu qu'il paraît qu'il faut accompagner tout programme sous GNU GPL de ce texte, mais j'vois pas trop comment faire, gcc me sort un warning (chaîne de caractère trop longue) quand je mets le texte en dur
J'suis censé mettre ça dans un fichier texte non-code et faire de la lecture de fichier au moment d'afficher la fenêtre ?
(Tiens, sinon, en copiant des fichiers manuellement en console, j'viens de me rendre compte qu'on avait oublié de préciser dans la spec le format attendu des noms de fichiers de destination en cas de copie/déplacement/lien… genre si on veut copier un fichier et qu'on passe comme destination le nom d'un répertoire déjà existant, j'suppose que la grande habitude de shell que nous avons fait que c'est évident que ça va copier/déplacer/lier dans ce répertoire en gardant le même nom, mais on l'avait juste pas évoqué, quoi (donc d'ailleurs, si c'est pas spécifié, vous pouvez faire autre chose si ça vous arrange))
Dernière modification par ArkSeth (Le 28/12/2010, à 14:36)
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#530 Le 28/12/2010, à 15:22
- helly
Re : /* Topic des codeurs couche-tard [3] */
Avec Vim de multiples appuis font défiler les solutions possibles, avec Bash non.
Avec zsh, si !
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#531 Le 28/12/2010, à 15:42
- Steap
Re : /* Topic des codeurs couche-tard [3] */
D'ailleurs, en parlant de ça, je voulais rajouter le texte de la GNU GPL dans la fenêtre « about » de ma calculatrice, vu qu'il paraît qu'il faut accompagner tout programme sous GNU GPL de ce texte, mais j'vois pas trop comment faire, gcc me sort un warning (chaîne de caractère trop longue) quand je mets le texte en dur
J'suis censé mettre ça dans un fichier texte non-code et faire de la lecture de fichier au moment d'afficher la fenêtre ?
Code + warning ? :-p
GNU Guix, un gestionnaire de paquets fonctionnel.
Hors ligne
#532 Le 28/12/2010, à 17:27
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Pylade a écrit :Avec Vim de multiples appuis font défiler les solutions possibles, avec Bash non.
Curieusement, il me semble que l'interpréteur de commandes de Windows (vous savez, le « cmd.exe » tout naze) fait de l'auto-complétion « à la Vim »…
Si seulement il avait un vrai historique ça serait presque utilisable ^_^.
Sinon, bien vu pour les !show, grim7reaper
J'y ai pensé hier quand j'ai passé mon code sous GPL.
D'ailleurs, en parlant de ça, je voulais rajouter le texte de la GNU GPL dans la fenêtre « about » de ma calculatrice, vu qu'il paraît qu'il faut accompagner tout programme sous GNU GPL de ce texte, mais j'vois pas trop comment faire, gcc me sort un warning (chaîne de caractère trop longue) quand je mets le texte en dur
J'suis censé mettre ça dans un fichier texte non-code et faire de la lecture de fichier au moment d'afficher la fenêtre ?
C'est normal, ça vient du standard du C.
-Woverlength-strings
Warn about string constants which are longer than the "minimum maximum" length specified in the C standard. Modern compilers generally allow string constants which are much longer than the standard's minimum limit, but very portable programs should avoid using longer strings.The limit applies after string constant concatenation, and does not count the trailing NUL. In C90, the limit was 509 characters; in C99, it was raised to 4095. C++98 does not specify a normative minimum maximum, so we do not diagnose overlength strings in C++.
This option is implied by -pedantic, and can be disabled with -Wno-overlength-strings.
Donc à toi de voir ce que tu veux faire (si tu veux un programme « very portable » ou juste portable sur les compilos récents ). J'ai lu pas mal de code où ils balancent ça dans un tableau (ils doivent donc désactiver ce warning ou ne pas compiler pas avec ‑pedantic).
Sinon, oui il faudra lire le fichier (du moins je ne vois pas vraiment d'autre solution là tout de suite, mais je n'y ai pas longuement réfléchi non plus ^_^).
(Tiens, sinon, en copiant des fichiers manuellement en console, j'viens de me rendre compte qu'on avait oublié de préciser dans la spec le format attendu des noms de fichiers de destination en cas de copie/déplacement/lien… genre si on veut copier un fichier et qu'on passe comme destination le nom d'un répertoire déjà existant, j'suppose que la grande habitude de shell que nous avons fait que c'est évident que ça va copier/déplacer/lier dans ce répertoire en gardant le même nom, mais on l'avait juste pas évoqué, quoi (donc d'ailleurs, si c'est pas spécifié, vous pouvez faire autre chose si ça vous arrange))
Oui, moi je partais sur le comportement standard d'un shell pour ne pas non plus trop perdre les éventuels utilisateurs, mais ça peut se discuter.
Dernière modification par grim7reaper (Le 28/12/2010, à 18:27)
Hors ligne
#533 Le 28/12/2010, à 18:44
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
ArkSeth a écrit :D'ailleurs, en parlant de ça, je voulais rajouter le texte de la GNU GPL dans la fenêtre « about » de ma calculatrice, vu qu'il paraît qu'il faut accompagner tout programme sous GNU GPL de ce texte, mais j'vois pas trop comment faire, gcc me sort un warning (chaîne de caractère trop longue) quand je mets le texte en dur
J'suis censé mettre ça dans un fichier texte non-code et faire de la lecture de fichier au moment d'afficher la fenêtre ?C'est normal, ça vient du standard du C.
man gcc a écrit :-Woverlength-strings
Warn about string constants which are longer than the "minimum maximum" length specified in the C standard. Modern compilers generally allow string constants which are much longer than the
standard's minimum limit, but very portable programs should avoid using longer strings.The limit applies after string constant concatenation, and does not count the trailing NUL. In C90, the limit was 509 characters; in C99, it was raised to 4095. C++98 does not specify a
normative minimum maximum, so we do not diagnose overlength strings in C++.This option is implied by -pedantic, and can be disabled with -Wno-overlength-strings.
Donc à toi de voir ce que tu veux faire (si tu veux un programme « very portable » ou juste portable sur les compilos récents
). J'ai lu pas mal de code où ils balancent ça dans un tableau (ils doivent donc désactiver ce warning ou ne pas compiler pas avec -pedantic).
Sinon, oui il faudra lire le fichier (du moins je ne vois pas vraiment d'autre solution là tout de suite, mais je n'y ai pas longuement réfléchi non plus ^_^).
Ouais, j'avais vu ça, voilà comment je résous l'affaire.
#include <stdio.h>
#include <string.h>
#define FILL "##################################################" \
"#################################################" \
"#################################################" \
"#################################################" \
"#################################################" \
"#################################################" \
"#################################################" \
"#################################################" \
"#################################################" \
"#################################################" \
int main(void)
{
char notice[3055]="";
strcat(notice, FILL "000000001");
strcat(notice, FILL "000000002");
strcat(notice, FILL "000000003");
strcat(notice, FILL "000000004");
strcat(notice, FILL "000000005");
strcat(notice, FILL "000000006");
puts(notice);
return 0;
}
Ça, c'est pour du C90. Il est bien entendu que pour du C99, tu y vas par coups de 4095…
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#534 Le 28/12/2010, à 18:46
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Ha ouais bien vu, je me disais bien qu'il y avait un moyen de faire sans lire le fichier.
Hors ligne
#535 Le 28/12/2010, à 19:00
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
D'ailleurs, je crois que ça serait peut-être mieux de mettre
char notice[3055];
notice[0]='\0';
à la place de
char notice[3055]="";
mais le gain est tellement dérisoire…
Et puis il y aussi un \ en trop qui se promène à la fin du #define, pas beau, ça…
Édit : ou plus simplement :
char notice[3055] = FILL "000000001";
Dernière modification par Pylade (Le 28/12/2010, à 19:17)
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#536 Le 28/12/2010, à 19:26
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Mais ça sert à quoi tes "000000001", "000000002", etc ?
Hors ligne
#537 Le 28/12/2010, à 19:36
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
À rien. Juste à numéroter ; et comme j'avais le droit à neuf caractères en rab, j'utilise les neuf…
C'est tout.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#538 Le 28/12/2010, à 19:39
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Ha ok.
À un moment j'ai cru qu'il avait peut-être une signification particulière, mais je ne voyais vraiment pas laquelle…
Hors ligne
#539 Le 28/12/2010, à 19:49
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
D'ailleurs je me suis planté, mes lignes 2 à 10 ne font pas 50 caractères mais 49. C'est fou ce que l'on peut faire comme erreurs, en n'étant pas attentif…
Version finale (ou pas) :
#include <stdio.h>
#include <string.h>
#define FILL "##################################################" \
"##################################################" \
"##################################################" \
"##################################################" \
"##################################################" \
"##################################################" \
"##################################################" \
"##################################################" \
"##################################################" \
"##################################################"
int main(void)
{
char notice[3055]=FILL "000000001";
strcat(notice, FILL "000000002");
strcat(notice, FILL "000000003");
strcat(notice, FILL "000000004");
strcat(notice, FILL "000000005");
strcat(notice, FILL "000000006");
puts(notice);
return 0;
}
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#540 Le 28/12/2010, à 22:32
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Petite question sur les spec' du CLFB.
Deux modes existent pour le programme, un « mode bavard » et un « mode silencieux ». Lorsque le premier est actif, le programme affiche sur la sortie standard, avant chaque opération, une ligne explicitant la commande Shell à utiliser pour obtenir le même résultat (lorsque existant), précédé par un caractère "#".
C'est vraiment important que la ligne s'affiche avant ou elle peut être affiché après ?
Hors ligne
#541 Le 28/12/2010, à 23:00
- samυncle
Re : /* Topic des codeurs couche-tard [3] */
Hello world
Hors ligne
#542 Le 28/12/2010, à 23:47
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Petite question aux Python-user : est-ce que Python a un « gestionnaire de paquet (de module en fait) » ?
Pour Ruby il y a RubyGem, pour Perl il y a la commande cpan, pour Haskell il y a Cabal, etc…
Mais je n'ai rien trouvé de convaincant pour Python…
Après quelques recherches, j'ai juste trouvé PyPM (spécifique à ActivePython), PackageManager (spécifique à Mac apparemment) et Python Package Manager (un truc qui m'a l'air moyennement bien foutu (mais bon, j'ai pas testé non plus), en plus il y a une GUI O_o")
Dernière modification par grim7reaper (Le 28/12/2010, à 23:48)
Hors ligne
#543 Le 28/12/2010, à 23:51
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
Pas à ma connaissance ; il faut utiliser les paquets python-* de ta distro.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#544 Le 28/12/2010, à 23:53
- Elzen
Re : /* Topic des codeurs couche-tard [3] */
C'est vraiment important que la ligne s'affiche avant ou elle peut être affiché après ?
Disons que c'était une question d'affichage… pour les commandes qui affichent un retour sur la sortie standard (genre infos sur le fichier, liste des fichiers ou message d'erreur), ça me paraît largement plus clair si la ligne commentée s'affiche avant.
Après, dans la pratique, si tu fais le traitement d'abord et que tu affiches tout après, ça revient visuellement au même ^^
(Pour les demandes de confirmation, ça dépend, ça peut se concevoir de ne faire l'affichage de la commande que si l'utilisateur a confirmé… j'sais pas)
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#545 Le 29/12/2010, à 00:03
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Pas à ma connaissance ; il faut utiliser les paquets python-* de ta distro.
Ouais, mais ça je peux le faire avec les autres aussi.
C'est que des fois j'ai besoin d'un obscur module qui n'est pas dans les dépôts (même pas dans AUR, ou alors packagé avec des moufles aux pieds…) donc j'aime bien avoir un soft « officiel » du langage pour gérer ça (au lieu de faire l'install' à la main).
Mais bon, tant pis… Ce n'est pas très grave vu que je ne dev' pas en Python (pour le moment, mais peut-être qu'un jour…), il y a peu de chance que j'ai besoin d'un obscur module
@ArkSeth : Ok, ça me semble plus logique en effet.
De même, je trouve plus logique de l'afficher si elle est réellement exécutée (et donc que l'utilisateur à confirmé s'il le fallait).
Dernière modification par grim7reaper (Le 29/12/2010, à 00:04)
Hors ligne
#546 Le 29/12/2010, à 00:20
- helly
Re : /* Topic des codeurs couche-tard [3] */
.
.
Dernière modification par helly (Le 29/12/2010, à 03:00)
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#547 Le 29/12/2010, à 01:04
- grim7reaper
Hors ligne
#548 Le 29/12/2010, à 01:10
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
helly a écrit :.
Dernière modification par Pylade (Le 29/12/2010, à 02:01)
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#549 Le 29/12/2010, à 01:16
- Кຼزດ
Re : /* Topic des codeurs couche-tard [3] */
Petite question aux Python-user : est-ce que Python a un « gestionnaire de paquet (de module en fait) » ?
Pour Ruby il y a RubyGem, pour Perl il y a la commande cpan, pour Haskell il y a Cabal, etc…Mais je n'ai rien trouvé de convaincant pour Python…
Après quelques recherches, j'ai juste trouvé PyPM (spécifique à ActivePython), PackageManager (spécifique à Mac apparemment) et Python Package Manager (un truc qui m'a l'air moyennement bien foutu (mais bon, j'ai pas testé non plus), en plus il y a une GUI O_o")
easy_install
Mais c'est pas super propre, ça gère uniquement l'installation (donc listage des fichiers et rm à la main pour les virer -_-").
Si tu penses qu'un module risque de pas être dispo, tu peux l'inclure optionnellement dans une archive, ça permet d'être sûr .
Dernière modification par Кຼزດ (Le 29/12/2010, à 04:59)
dou
Hors ligne
#550 Le 29/12/2010, à 02:49
- samυncle
Re : /* Topic des codeurs couche-tard [3] */
Hello world
Hors ligne