Rubyと文字列の改行について現役エンジニアが解説【初心者向け】

初心者向けにRubyと文字列の改行について現役エンジニアが解説しています。Rubyで改行するには、ダブルクォーテーションの中で\nを使ったり、putsメソッドを使ったりします。\nは他のプログラミング言語でも改行コードとして扱われているので覚えましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyと文字列の改行について解説します。

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。
 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Rubyと文字列の改行について詳しく説明していくね!

大石ゆかり

お願いします!

 

Rubyの文字列の改行記法\n

Rubyで文字列内に改行をはさみたい場合はバックスラッシュ記法による改行コードのエスケープが必要です。

文字列内で改行を行う場合は、ダブルクォーテーションで文字列を括った場合、\nを挟むことによって、返却値に改行が入ります。
 

引数オブジェクトを文字列に変換して改行して出力する方法(putsメソッド)

コンソールの出力に多用されているputsメソッドも改行を含んで出力を行っています。

printメソッドとの違いが、この改行出力を行っているか否かになります。
 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

文字列を改行文字で分割して出力する方法(each_lineメソッド)

each_lineメソッドは文字列を改行文字毎に分割して1行ずつ取り出します。
分割した行数分繰り返し処理を実行します。

each_lineで分割した文字列には改行文字が入ったままになります。
each_lineには引数も設定できます。設定した引数を改行文字とみなします。

nilを設定すると、文字列全体を一行とみなします。(改行文字を無視する)

空白(””)を指定すると、2つ以上の連続した改行コードをで区切ります。(改行一つのみは無視する)

 

出力された改行文字を取り除く方法(chompメソッド)

文字列内の改行文字を取り除くにはchompメソッドを使用します。

改行文字は”\n”,”\r\n”,”\r”のどれでも取り除きます。

chompメソッドにも、引数が設定でき、設定した引数を改行文字とみなします。
 

実際に書いてみよう

\n記法

 

name = "こんにちは\n世界"

print name

# こんにちは

# 世界

 

putsメソッド

print "こんにちは、", "世界"

# こんにちは世界

puts "こんにちは、", "世界"

# こんにちは

# 世界

 

each_lineメソッド

string = "こんにちは、\n世界 \n今日は\nいい天気ですね。"

string.each_line |str|

p str

end

# "こんにちは、\n"
# "世界 \n"
# "今日は\n"
# "いい天気ですね。"

 

chompメソッド

string = "こんにちは、\n世界 \n今日は\nいい天気ですね。"

string.each_line |str|

p str.chomp

end

# "こんにちは、"
# "世界 "
# "今日は"
# "いい天気ですね。"

 

筆者プロフィール

水野大輝(みずのたいき)

2014年より、某物流会社のシステム開発担当として入社。

未経験ながら、社内システム保守~新規受注システム開発まで携わり、JavaScript Ruby on Rails PostgreSQLなどの経験を積む。
現在も、開発案件に携わりながら、日々勉強中。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。