.net column

.NET開発者のためのブログメディア

Rubyでのeachの繰り返し処理を紹介!eachの繰り返し処理を正しく使いこなそう!

2020年12月22日

SE
Rubyでの繰り返し処理とはどう言ったものでしょうか?

PM
ここではeachを使ったオブジェクトの処理についてみていきましょう。

Rubyでのeachの繰り返し処理を紹介します!


今回は、Rubyでのeachを使った繰り返し処理について説明します。
Rubyでは、配列・範囲オブジェクト・ハッシュなどに対してeachで繰り返し処理ができます。
breakで繰り返し処理を抜けることができますし、nextで繰り返し処理をスキップすることができます。

eachの類似として、each_with_index・each_line・each_sliceの使い方についても紹介します。
Rubyでの繰り返し処理に興味のある方はぜひご覧ください。

配列

配列に対するeachの繰り返し処理を紹介します。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、Rubyでは配列に対してeachで繰り返し処理ができます。

範囲オブジェクト

範囲オブジェクトに対するeachの繰り返し処理を紹介します。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

 

文字の範囲オブジェクトに対しても、同様です。

実行結果は以下のようになります。

このように、Rubyでは範囲オブジェクトに対してeachで繰り返し処理ができます。

ハッシュ

ハッシュに対するeachの繰り返し処理を紹介します。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

keyとvalueが表示されていることが分かります。
each_keyを使用すれば、keyだけを出力できます。

実行結果は以下のようになります。

また、each_valueを使用すれば、keyだけを出力できます。

実行結果は以下のようになります。

このように、Rubyではハッシュに対してeachで繰り返し処理ができます。
each_keyはkeyだけ、each_valueはvalueだけの繰り返し処理ができます。

break

Rubyでは、breakで繰り返し処理を抜けることができます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、Rubyではbreakで繰り返し処理を抜けることができます。

next

Rubyでは、nextで繰り返し処理をスキップすることができます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、Rubyではnextで繰り返し処理をスキップすることができます。

each_with_index

each_with_indexを使えば、繰り返し処理でインデックスを出力できます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

インデックスが出力されていることが分かります。
インデックスの開始値を変更したい場合は、each.with_indexを使用します。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

この場合は、インデックス10から始まっています。
このように、Rubyではeach_with_indexを使えば、繰り返し処理でインデックスを出力できます。

each_line

each_lineを使えば、ファイルを1行ずつ読み込むことができます。

以下のようなファイルを読み込んで出力してみます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

ファイルの内容が出力されていることが分かります。foreachでも同じことができます。

実行結果は以下のようになります。

このように、Rubyではeach_line・foreachを使えば、ファイルを1行ずつ読み込むことができます。

each_slice

each_sliceを使えば、配列を指定数で分割できます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、Rubyではeach_sliceを使えば、配列を指定数で分割できます。

SE
範囲オブジェクトを利用して順番に処理することも可能ですね。

PM
状況によってはfor文を利用するよりもわかりやすいかもしれませんね。

まとめ

いかがでしたでしょうか。Rubyでのeachを使った繰り返し処理について説明しました。

Rubyでは、配列・範囲オブジェクト・ハッシュなどに対してeachで繰り返し処理ができます。
breakで繰り返し処理を抜けることができますし、nextで繰り返し処理をスキップすることができます。

eachの類似として、each_with_index・each_line・each_sliceの使い方についても紹介しました。
ぜひご自身でソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags

Jobs