LoginSignup
1
0

More than 3 years have passed since last update.

Ruby学習メモ1『配列』

Last updated at Posted at 2019-09-10

Ruby 配列についての学習メモ

実行結果につきましては、irbコマンドを用い出力しております。

配列の要素を順に取り出すには

eachメソッドを用いた場合

index.rb
a = ["a", "i", "u", "e", "o"]

a.each do |x|
  puts x
end

forメソッドを用いた場合

index.rb
a = ["a", "i", "u", "e", "o"]

for x in a
  puts x
end

eachメソッドを用いた場合も、forメソッドを用いた場合も出力結果は同じ。putsなので、改行されて出力されます。

a
i
u
e
o

配列の要素をn個組み合わせた、順列を取り出すには

index.rb
n = 3
a = ["a", "i", "u", "e", "o"]

puts a.permutation(n).collect {|i| i.join }.join(" ")

permutationメソッドにより、配列の要素から引数n個の文字をつなげ、順列を作ります。

aiu aie aio aui aue auo aei aeu aeo aoi aou aoe iau iae iao iua iue iuo iea ieu ieo ioa iou ioe uai uae uao uia uie uio uea uei ueo uoa uoi uoe eai eau eao eia eiu eio eua eui euo eoa eoi eou oai oau oae oia oiu oie oua oui oue oea oei oeu

配列の要素をn個組み合わせた、重複順列を取り出すには

index.rb
n = 3
a = ["a", "i", "u", "e", "o"]

puts a.repeated_permutation(n).collect {|i| i.join }.join(" ")

repeated_permutationメソッドにより、配列の要素から引数n個の文字をつなげ、重複順列(順序あり、重複を許す組合せ)を作ります。

aaa aai aau aae aao aia aii aiu aie aio aua aui auu aue auo aea aei aeu aee aeo aoa aoi aou aoe aoo iaa iai iau iae iao iia iii iiu iie iio iua iui iuu iue iuo iea iei ieu iee ieo ioa ioi iou ioe ioo uaa uai uau uae uao uia uii uiu uie uio uua uui uuu uue uuo uea uei ueu uee ueo uoa uoi uou uoe uoo eaa eai eau eae eao eia eii eiu eie eio eua eui euu eue euo eea eei eeu eee eeo eoa eoi eou eoe eoo oaa oai oau oae oao oia oii oiu oie oio oua oui ouu oue ouo oea oei oeu oee oeo ooa ooi oou ooe ooo

ちなみにcollectは、要素の数だけ繰り返しブロックを実行し、ブロックの戻り値を集めた配列を作って返すメソッドです。

参考資料

現場で使えるRuby on Rails 5 速習実践ガイド
Rubyリファレンス

1
0
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
0