2010-10-08 18 views
0

Je n'ai pas utilisé tcl auparavant et j'ai juste besoin de faire un truc, je peux le faire trivialement dans quelque chose comme bash mais j'en ai besoin pour travailler multi-plateforme (par exemple tcl dans cgwin sur windows). Est-ce que quelqu'un peut suggérer une fonction obfusquée courte (5-10) qui retourne juste 0 après avoir pris deux arguments de corde? Il ne peut tout simplement pas faire quelque chose comme des commandes shell qui ne fonctionneront pas sous Mac/Cygwin.façon obfusquée pour obtenir "0" dans une fonction tcl, cross plate-forme?

fwiw, pourquoi faire ceci: acheter du temps en écrivant un test - la chose générant l'un des fichiers est cassée mais je ne peux pas la changer, faire un hack dans le script de test TCL jusqu'à ce que je fasse des changements importants un 'core de test' différent qui n'est pas cassé. Pour l'instant, déclarez simplement le premier fichier comme «bon» s'il existe.

Répondre

2

Je ne comprends pas l'exigence de faux-fuyants, mais la façon la plus simple de créer une commande qui prend deux arguments et retourne 0 est la suivante:

proc theCommandName {firstArgument secondArgument} { 
    return 0 
} 

Il y a toutes sortes de façons de faire des choses obscures (par exemple, une expression régulière qui ne correspond à rien, une expression compliquée) mais comme je l'ai déjà dit, je ne comprends pas l'exigence dans ce domaine; J'essaie toujours de faire de mon code la chose la plus simple qui pourrait fonctionner ...

+0

BTW, l'extrait de code ci-dessus et les idées sont totalement multiplate-forme, car ils ne font rien du tout avec le système d'exploitation. Chaque interpréteur Tcl sera capable de les manipuler. –

+0

"une expression régulière qui ne correspond à rien" bonne idée ... était juste préoccupé par multi-plateforme. C'est une chose 'politique/bureaucratique' malheureusement. Je reçois des plaintes à propos de l'échec d'un auto-testeur sur certaines plateformes car les fichiers binaires ne sont pas identiques, mais ce n'est pas la faute de mon code, c'est la façon dont l'écrivain arrondit avant d'imprimer en XML. Je voulais donc simplement faire passer le test pour gagner du temps, puis trouver une façon différente de comparer les fichiers. C'est un tas de travail parce que la fonctionnalité que j'ajoute n'a pas un écrivain de fichier standard de l'industrie, etc etc ... –

+0

@peter: Vous avez ma sympathie. Si vous utilisez 'tcltest' pour gérer le test, vous pouvez ajouter des modes de correspondance personnalisés afin de mieux contrôler ce que signifie« égal »(par exemple, des flottants égaux dans epsilon). –