Zwei aufeinanderfolgende "end"-Schlüsselwörter mit der gleichen Einrückungsebene zu haben, sieht wie ein Fehler aus, aber um dies am Ende eines Moduls, das zB Funktionsdefinitionen enthält, zu vermeiden, muss man den gesamten Inhalt des Moduls einrücken (was normalerweise die gesamte Datei bedeutet ). Wenn eine Datei mit einer Moduldeklaration beginnt, könnten wir dann nicht davon ausgehen, dass das passende "Ende" implizit am Ende der Datei angegeben ist?
Meine „nur mit einem Bleistift“ Lösung ist immer das schreiben end
, die ein folgt module
wie folgt aus :
module Foo
function bar()
# do stuff
end
end # module
Ja, ich bin mir nicht sicher, ob das einen Sonderfall wert ist. Bei verschachtelten Modulen wird es auch verwirrender --- sollte das Dateiende alle offenen Module schließen oder nur das äußerste?
Irgendwann in der Zukunft möchten wir vielleicht einen Modullademechanismus in Betracht ziehen, bei dem Sie nicht module Foo ... end
in die Datei schreiben müssen, was auch andere Vorteile haben könnte.
Hilfreichster Kommentar
Meine „nur mit einem Bleistift“ Lösung ist immer das schreiben
end
, die ein folgtmodule
wie folgt aus :