Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@chiaaaakiiiii

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

More than 1 year has passed since last update.

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
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
chiaaaakiiiii
受託システム会社でコード書いたり設計したりしてます。 Twitter : @chiaaaakiiiii

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?