Written by Kasumi

Rubyで同じ要素の数の配列を作成する方法【mapメソッドを使おう】

Rubyで同じ要素の数の配列を新たに作成する簡単な方法を知りたい。

本記事ではこのような悩みを解決。

実装方法について解説します。

mapメソッドを使って同じ要素数の配列を作成

array = [10,20,30]

array02 = array.map { |value| value*2 }

p array02

# 出力結果
# [20, 40, 60]

同じ要素数の新たな配列を作成するコード例です。

mapメソッドを使います。

使い方は以下の通りです。

配列.map { |変数| 実行処理 }

mapメソッドの引数に任意の変数を入れます。

上記引数に入れた変数に配列要素が代入されます。

コード例だと、実行処理にvalue*2と記述されており、同じ要素数で倍かけされた値が入ってる新たな配列が生成されます。

ハッシュでmapメソッドを使う

array = {"リンゴ"=>100, "ブドウ"=>200, "みかん"=>300}
array02 = array.map{|key, value| [key, value*2]}.to_h

p array02
# 出力結果
#{"リンゴ"=>200, "ブドウ"=>400, "みかん"=>600}

ハッシュ(連想配列)でも同様にmapメソッドを使って同じ要素数の配列を新たに作成する事ができます。

使い方は以下の通りです。

配列.map{|キー, 値| [キーの実行処理, 値の実行処理]}.to_h

ハッシュの場合、mapメソッドは戻り値に配列を返します。

なので配列をハッシュに変換するto_hメソッドを使いましょう。

まとめ

mapメソッドを使って、同じ要素の数の配列を新たに作成する方法について紹介しました。

以上で解説を終わります。

目次

関連記事

Ruby

Rubyでハッシュにシンボルを使う方法を解説

2022.08.07
1325
Ruby

【Ruby】同じ値で要素を満たす配列を生成する方法

2022.08.14
1926
Ruby

Rubyでクラスを定義・メソッドを呼び出す方法

2022.08.15
930
Ruby

Rubyでクラスの呼び出し時、必ず実行する処理(初期化)を設定する方法【initializeメソッド】

2022.08.16
1088