ファイル末尾になぜ改行を入れるのか?
経緯
先輩から「プログラムの動作には影響しないけれど、末尾に改行入れてね🙏」と言われた。どうして?調べてみる。
POSIXの定義によれば...
行とは、0以上の改行以外の文字+改行文字である
3.206 Line
A sequence of zero or more non- <newline> characters plus a terminating <newline> character.
テキストファイルとは、0以上の行で構成された文字を含むファイルである
3.403 Text File
A file that contains characters organized into zero or more lines. The lines do not contain NUL ...
→POSIXはUNIX系OS間での移植性や互換性を高めるために定められたもので、自分の使っているものがそれに準拠している以上、なるべく従うことが予期せぬ挙動を防ぐためにも重要なのであろうという考えに至った。(e.g. $ wc -l)
A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character.
参考🙏