LoginSignup
1
1

More than 3 years have passed since last update.

Rubyの配列で使えるメソッド

Posted at

Railsアプリで配列データを分けて出力しようとした時に色々試したので記録しとこうと思います。

students = ["Tom","Mike"],["Sam","Eric"],["Billy"],["Jorge","Nancy","Rick"]

適当に配列を用意しました。

flatten

入力
p students.flatten
出力
["Tom", "Mike", "Sam", "Eric", "Billy", "Jorge", "Nancy", "Rick"]

配列がくっつきます。

join

入力
p students.join
出力
"TomMikeSamEricBillyJorgeNancyRick"

これもくっつきます。

flattenのクラスはArray、joinの場合はstringです。

ただ作ってたアプリでは複数の配列からランダムに一つずつ出力したかったため、これらでは上手くいかなくて(なぜかflattenでくっつかなかった)

sample

入力
p students.sample(1)
出力
[["Jorge", "Nancy", "Rick"]]

sampleは配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
この場合はランダムに配列を1つ出力しています。

入力
students.each do |student|
  p student.sample(1)
end
出力
["Mike"]
["Sam"]
["Billy"]
["Jorge"]

この場合は一度ループ処理をしているので各配列から一つずつ要素が出力されています。
これを応用してアプリの機能が実装できました。

配列面白いですよね。

参考

Ruby 2.7.0 リファレンスマニュアル

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1