データの中に改行を含める場合、その扱いをどのようにするのかで記法が微妙に変わります。また、改行をスペースに変換できますが、最後の改行をどのように扱うでこちらも微妙に記法が変わります。なお、この記事はドットインストールというプログラミング学習サービスの内容を参考にしています。
作成するファイル
- parse.rb
- data.yml:データファイル
ファイルをそれぞれ以下のように作成します。
# parse.rb require 'yaml' emails = YAML.load_file('data.yml') p emails
# data.yml
this
is
a
pen.
以下のコマンドで出力を確認します。改行が含まれないことを確認できます。
ruby parse.rb "this is a pen."
改行を含むデータの記法
改行を含むデータの記法について見ていきます。「|」と「字下げ」で表現します。
最終行の改行を保持:|
- |
this
is
a
pen.
以下のコマンドで出力を確認します。
ruby parse.rb ["this\nis\na\npen.\n"]
最終行以降の改行も保持する:|+
- |+
this
is
a
pen.
以下のコマンドで出力を確認します。
ruby parse.rb ["this\nis\na\npen.\n\n"]
最終行の改行を保持しない:|-
- |-
this
is
a
pen.
以下のコマンドで出力を確認します。
ruby parse.rb ["this\nis\na\npen."]
改行をスペースに変更する記法
改行をスペースに変更する記法について見ていきます。「>」と「字下げ」で表現します。
途中の改行をスペースに変換、最終行の改行を保持:>
- >
this
is
a
pen.
以下のコマンドで出力を確認します。
ruby parse.rb ["this is a pen.\n"]
途中の改行をスペースに変換、最終行以降の改行も保持:>+
- >+
this
is
a
pen.
以下のコマンドで出力を確認します。
ruby parse.rb ["this is a pen.\n"]
途中の改行をスペースに変換、最終行の改行は保持しない:>-
- >-
this
is
a
pen.
以下のコマンドで出力を確認します。
ruby parse.rb ["this is a pen."]
まとめ
改行の扱いについて見ていきました。微妙に記法が違うので、違いを理解して使い分けられると良いです。