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.12
86
Ruby

【Ruby】配列要素を追加・上書き・削除する方法

2022.07.25
210
Ruby

Rubyのメソッドで引数にデフォルト値を指定する方法【キーワード引数を使おう】

2022.08.13
49
Ruby

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

2022.08.15
79