Rubyのファイル末尾には改行を入れる

ファイル末尾には改行が必要

なぜ最終行に改行が必要なのか - komagataのブログ

POSIX上、テキストファイルは「行」の集合体で、そして「行」は「0文字以上の文字+改行」からなっている、とのことです(Qiita)。

Rubyのコードでも、(よほど変なことをしない限り)それに従わない必要性のある理由もないことでしょう。C言語においても、改行で終わらないコードは正しく動くことが保証されません。

POSIXとは

  • IEEEが策定したAPI規格
  • へー
  • POSIXがテキストファイルに対して定めている定義
  • つまりrubyだけじゃない
  • テキストファイルの末尾は改行で終わる、と定義されている
  • テキストファイルは行か行の集合であり、行はnewlineで終わる。

つまり、

  • rubyだけじゃなくてテキストファイルは末尾改行で終わる。