●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Rubyのイテレータ(Iterator)とは?繰り返し処理の基本をマスターしよう!

Rubyでは、配列やハッシュなどのコレクションを繰り返し処理する方法として、イテレータ(Iterator)が使われます。 特に each メソッドは、Rubyにおける最も基本的な繰り返し処理の手段です。

イテレータとは?

イテレータとは、要素を1つずつ取り出して処理する仕組みのことです。 Rubyでは、コレクションに対してブロックを渡すことで、繰り返し処理を簡潔に書くことができます。

each の基本構文

[1, 2, 3].each do |n|
  puts n
end

この例では、配列の各要素を順番に n に代入して、ブロック内で処理を行っています。 出力は以下のようになります:

1
2
3

ハッシュでの each

hash = { apple: 100, banana: 200 }

hash.each do |key, value|
  puts "#{key} は #{value}円"
end

ハッシュでは、キーと値をそれぞれブロック引数として受け取ることができます。

each_with_index

["A", "B", "C"].each_with_index do |val, i|
  puts "#{i}: #{val}"
end

each_with_index を使えば、インデックス番号付きで要素を取り出すことができます。

map(collect)

squares = [1, 2, 3].map do |n|
  n * n
end

puts squares.inspect  # → [1, 4, 9]

map は各要素に処理を施し、新しい配列を返します(元の配列は変更されません)。

select / reject

nums = [1, 2, 3, 4, 5]

even = nums.select { |n| n.even? }
odd  = nums.reject { |n| n.even? }

puts even.inspect  # → [2, 4]
puts odd.inspect   # → [1, 3, 5]

select は条件に合う要素を抽出、reject は条件に合わない要素を抽出します。

times / upto / downto

3.times { |i| puts "回数: #{i}" }

1.upto(3) { |n| puts n }

3.downto(1) { |n| puts n }

これらもイテレータの一種で、数値の繰り返し処理に便利です。

イテレータとブロックの関係

イテレータは、必ずブロックとセットで使います。 ブロックの中に「繰り返したい処理」を記述することで、明快かつ簡潔にコードを書くことができます。

まとめ

Rubyのイテレータ(Iterator)は、繰り返し処理を簡潔に書くための強力な機能です。 特に eachmapselect などは日常的によく使うメソッドです。

まずは配列やハッシュに対して each を使ってみて、ブロックの動きと一緒にイテレータに慣れていきましょう!

 

Ruby関連用語集

−−−−−  Ruby  −−−−−

Rubyのオブジェクト指向とは?クラスやメソッドの仕組みをわかりやすく解説

Rubyのクラス(Class)とは?オブジェクトの設計図を学ぼう

Rubyのモジュール(Module)とは?コードを整理・共有する仕組みを学ぼう!

Rubyのメソッド(Method)とは?定義と使い方をやさしく解説

Rubyのブロック(Block)とは?繰り返しやコールバック処理に使える便利な仕組み

Rubyのイテレータ(Iterator)とは?繰り返し処理の基本をマスターしよう!

RubyのEnumerableモジュールとは?便利な繰り返し処理を一気に習得!

RubyのProc(プロック)とは?ブロックをオブジェクト化して使いこなそう

RubyのLambda(ラムダ)とは?Procとの違いも含めてやさしく解説!

Rubyのシンボル(Symbol)とは?文字列との違いと使いどころをわかりやすく解説

Rubyのハッシュ(Hash)とは?キーと値のペアでデータを扱う基本構造

Rubyの配列(Array)とは?基本構文と便利な操作方法をマスターしよう!

Rubyのスコープ(Scope)とは?変数の見える範囲を理解しよう

Rubyのインスタンス変数(@変数)とは?クラスでデータを保持する基本

Rubyのクラス変数(@@変数)とは?全インスタンスで共有する値を管理する

Rubyの定数(Constant)とは?値を固定するための書き方と使い方

Rubyのグローバル変数($変数)とは?使い方と注意点をやさしく解説

Rubyのself(自己参照)とは?使い方と意味をやさしく解説!

Rubyの継承(Inheritance)とは?コードの再利用と拡張の基本

Rubyのミックスイン(Mixin)とは?モジュールで機能を共有する方法

Rubyのメソッドのオーバーライド(Override)とは?継承したメソッドを再定義しよう

Rubyの例外処理(Exception Handling)とは?エラー発生時の安全な対処法

Rubyのbegin-rescue-end構文とは?エラーを安全に処理する基本構文

Rubyのyield(ブロック呼び出し)とは?ブロックの使い方と柔軟なメソッド設計

Rubyのrequire / loadとは?外部ファイルの読み込み方法と使い分け

Rubyのgem(RubyGems)とは?便利なライブラリの管理方法を解説!

Bundlerとは?Rubyのgemを簡単に管理できる便利ツール

RubyのRakeとは?ビルドやタスクを自動化する便利ツールを解説!

IRB(Interactive Ruby)とは?Rubyを手軽に試せる対話型ツール

Rails(Ruby on Rails)とは?Webアプリ開発の強力フレームワーク