●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

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

Rubyには、配列やハッシュ、範囲オブジェクトなどで使える便利なメソッドが多数あります。 これらのメソッドは、Enumerable(イナマラブル)モジュールによって提供されています。

Enumerableを使えば、検索・抽出・集計・変換などの処理が簡単にでき、繰り返し処理のコードをすっきり書けます。

Enumerableとは?

Enumerableは、繰り返し処理に関するメソッドを集めたモジュールです。 Rubyの配列やハッシュ、範囲(Range)などに含まれており、each メソッドが定義されていれば自動で利用できます。

主なメソッド一覧

メソッド名説明
each要素を順に処理
map要素を変換して新しい配列を返す
select条件に合う要素を抽出
find最初に条件に合う要素を返す
any?いずれかが条件に合えばtrue
all?すべてが条件に合えばtrue
none?すべて合わなければtrue
count要素数や条件に合う数を返す
inject累積計算(合計・積など)

使用例:map / select / find

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

squares = nums.map { |n| n * n }        # → [1, 4, 9, 16, 25]
evens   = nums.select { |n| n.even? }   # → [2, 4]
first_odd = nums.find { |n| n.odd? }    # → 1

このように、短く簡潔にデータ処理ができるのがEnumerableの魅力です。

inject(reduce)の使い方

total = [1, 2, 3, 4].inject(0) { |sum, n| sum + n }
puts total  # → 10

inject は、累積しながら計算を行う高機能なイテレータです。 reduce は同じ機能の別名です。

any? / all? / none?

nums = [1, 2, 3, 4]

puts nums.any? { |n| n > 3 }   # → true
puts nums.all? { |n| n < 5 }   # → true
puts nums.none? { |n| n < 0 }  # → true

条件判定に使える便利なメソッドも多数用意されています。

Enumerableを自作クラスで使う

class Team
  include Enumerable

  def initialize(members)
    @members = members
  end

  def each
    @members.each { |m| yield m }
  end
end

team = Team.new(["Alice", "Bob", "Carol"])
puts team.find { |name| name.start_with?("B") }  # → Bob

Enumerable を使いたい場合、自作クラスに include Enumerable を書き、eachメソッドを定義すればOKです。

まとめ

RubyのEnumerableモジュールは、繰り返し処理を強力にサポートするツールです。 配列やハッシュに標準で組み込まれており、mapselect などの便利なメソッドがすぐに使えます。

自作クラスでも each を定義して include Enumerable すれば、これらの便利メソッドを活用できます。 ぜひ、日々のコードに取り入れてみてください!

 

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アプリ開発の強力フレームワーク