Je me bats en essayant d'utiliser une déclaration de comparaison concise pour éviter un tas de "si a = b ou a = c ou d = un ou a = e", etc.cordes/tcsh sous-chaînes correspondantes
Au lieu de cela, j'essaie d'utiliser regex et la correspondance de modèle comme vous le feriez en perl.
avec
set st = "red"
la ligne
if ($ st = ~ jaune | bleu | rouge | vert)
ne fonctionne tout simplement pas (si: Expression syntaxe.) J'ai essayé avec citation s, parenthèses, mais je n'obtiens jamais le résultat attendu, si aucune erreur.
est-il un moyen d'éviter la construction lourde:
if ($ st == jaune) || ($ st == bleu) || ($ st == red) || ($ st == vert)?
Ou une autre façon de poser la même question: est-ce que tcsh permet quelque chose comme "si la chaîne a contient la chaîne b"? Je n'ai trouvé aucune notion de sous-chaîne dans la référence tcsh.
Merci mille fois!
Lien obligatoire: [Programmation Csh considérée comme dangereuse] (http://www.perl.com/doc/FMTEYEWTK/versus/csh.whynot). –