Avoir deux mots-clés "end" consécutifs avec le même niveau d'indentation ressemble à une erreur, mais afin d'éviter cela à la fin d'un module contenant par exemple des définitions de fonctions, il faut indenter tout le contenu du module (ce qui signifie généralement l'intégralité du fichier ). Si un fichier commence par une déclaration de module, ne pourrait-on pas considérer que la correspondance "end" est implicitement fournie à la fin du fichier ?
Ma solution « utilisez simplement un crayon » est de toujours écrire le end
qui suit un module
comme ceci :
module Foo
function bar()
# do stuff
end
end # module
Oui, je ne suis pas sûr que cela mérite un cas particulier. Cela devient également plus déroutant avec les modules imbriqués --- la fin du fichier doit-elle fermer tous les modules ouverts, ou seulement le plus externe ?
À un moment donné dans le futur, nous pourrions envisager un mécanisme de chargement de module où vous n'avez pas à écrire module Foo ... end
dans le fichier, ce qui pourrait également avoir d'autres avantages.
Commentaire le plus utile
Ma solution « utilisez simplement un crayon » est de toujours écrire le
end
qui suit unmodule
comme ceci :