38Fermer40
ZephLe 12/04/2012 à 17:43
Les trois quart des langages existants t'imposent de mettre une parenthèse ouvrante après le "if", et pourtant ça ne sert à rien non plus (d'ailleurs sh, python et d'autres n'en ont pas besoin). Pourtant si tu ne la mets pas, ça ne compilera pas.

La justification dans ce cas, c'est que le "if" doit être suivi d'une commande, et que cette commande peut être suivie d'un nombre quelconque d'arguments, comme n'importe quelle commande shell. Il faut bien un moyen de savoir où elle s'arrête, et le "then" n'est pas suffisant puisque tu pourrais très bien vouloir passer le mot "then" en paramètre à une commande, donc il faut un autre séparateur. Tu as le choix, c'est soit un retour à la ligne soit un ";", mais "rien" c'est syntaxiquement pas possible (ou alors ça introduirait une incohérente dans la syntaxe).