Techniquement, et avec un peu de pratique, même sur une seule ligne, tu t'en sors : les parenthèses retirent toute ambiguïté.
Mais oui, je conçois que ma phrase était rentre-dedans.
L'avantage, c'est que l'indentation qui découle du parenthésage et la structure du code sont interdépendants.
Le coup classique du if test1 then if test2 then foo else bar relève alors plus de la faute grave que de la faute d'étourderie. Si ton langage est basé uniquement sur l'indentation, quelques espaces en plus ou en moins sur le else bar risquent d'avoir un effet pervers sur ton code... (nota : en CL ou Scheme, on utilisera (when test1 (if test2 foo bar)) ou (if test1 (when test2 foo) bar) pour rajouter une couche de clarté à ce que la commande d'indentation automatique de ton éditeur aura déjà exprimé pour toi.
[^] # Re: LISP
Posté par Axioplase ıɥs∀ (site web personnel) . En réponse à la dépêche Apprendre un langage de programmation par an. Évalué à 2.
Mais oui, je conçois que ma phrase était rentre-dedans.
L'avantage, c'est que l'indentation qui découle du parenthésage et la structure du code sont interdépendants.
Le coup classique du
if test1 then if test2 then foo else barrelève alors plus de la faute grave que de la faute d'étourderie. Si ton langage est basé uniquement sur l'indentation, quelques espaces en plus ou en moins sur leelse barrisquent d'avoir un effet pervers sur ton code... (nota : en CL ou Scheme, on utilisera(when test1 (if test2 foo bar))ou(if test1 (when test2 foo) bar)pour rajouter une couche de clarté à ce que la commande d'indentation automatique de ton éditeur aura déjà exprimé pour toi.