Warum erstellt Ruby on Rails eine leere Zeile am Ende einer Datei?

8

Das Ausführen von rails generate controller Foo home führt zu:

%Vor%

Gibt es einen Zweck für diese leere Zeile?

    
Neil Kelty 18.04.2013, 01:04
quelle

2 Antworten

10

Es ist üblich, einen Zeilenumbruch zu verwenden, um das Ende der Zeile anzugeben, selbst für die letzte Zeile. Viele Editoren (wie vi, die ich verwende) fügen stillschweigend diesen Zeilenumbruch hinzu. Der Konsens ist, dass Textdateien (vor allem in der Unix-Welt) in einer neuen Zeile enden sollten, und es gab historisch Probleme, wenn es nicht vorhanden war. Warum sollten Textdateien mit einem Zeilenumbruch enden?

Das Werkzeug, das ich verwendet habe, um die Zeilen in einer Datei "wc" zu zählen, zählt nur die Zeilenumbrüche in einer Datei, also ohne diesen abschließenden Zeilenumbruch würde es 3 statt 4 anzeigen.

Es verbessert auch die Lesbarkeit der im Generator verwendeten Vorlagen. Erwägen: Ссылка

Um den abschließenden Zeilenumbruch zu entfernen, hätte diese Vorlage die letzte Zeile:

%Vor%

anstelle von:

%Vor%

Das scheint mir weniger lesbar.

Die folgende Diskussion bezieht sich auf eine Leerzeile früher in der Datei anstelle des abschließenden Zeilenvorschubzeichens.

Es war ein Versehen und in einer späteren Version von Schienen behoben.

Sie können hier im Commit-Verlauf sehen, wo die Leerzeilen entfernt werden:

Ссылка

Dies ist das Commit, wo es entfernt wurde:
Entfernen Sie überflüssig Leerzeile am unteren Rand

Es zeigt Ihnen auch, warum es dort war, zuvor haben sie nur eine Leerzeile nach jeder Aktion hinzugefügt.

    
Shawn Balestracci 18.04.2013, 01:20
quelle
5

Es ist üblich, eine Datei mit einem Zeilenumbruch zu beenden, wenn Sie Ihren Quellcode in SCM wie zB git beibehalten. Angenommen, Sie fügen etwas am Ende hinzu und übernehmen die Änderungen. Vergleichen Sie nun die Diffs in zwei Fällen.

1) Ende mit Zeilenumbruch:

%Vor%

2) Keine neue Zeile:

%Vor%

Sie sehen, dass diff "end" und "end \ n" als zwei verschiedene Zeilen behandelt, was im ersten Fall zu weniger sauberer Darstellung führt.

    
Simon Perepelitsa 18.04.2013 01:24
quelle

Tags und Links