Rubyの練習問題:繰り返し処理編|初心者・独学者向け入門コンテンツ

初心者・独学者向けの入門コンテンツとしてRubyで繰り返し処理の練習問題を作成しました。
各問題の回答は内部リンクに設定しています。
Rubyの繰り返し処理の解説については下記を御覧ください
関連問題
Rubyの練習問題:配列編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:ハッシュ編|初心者・独学者向け入門コンテンツ
Rubyでサイトをスクレイピングし、ローカルに画像を保存する
Rubyの繰り返し処理の練習問題
1:繰り返し処理eachメソッドの挙動
以下選択肢の中で、正常動作するコードを「全て」選択してください
#選択肢1 ["こんにちは","おはよう","さよなら"].each do |greeting|puts greeting end #選択肢2 ["こんにちは","おはよう","さよなら"].each do |greeting|puts greeting #選択肢3 ["こんにちは","おはよう","さよなら"].each {|greeting| puts greeting } #選択肢4 ["こんにちは","おはよう","さよなら"].each |greeting| do puts greeting #選択肢5 ["こんにちは","おはよう","さよなら"].each {|greeting| do puts greeting } end
2:繰り返し処理.eachwithindex メソッドの挙動1
実行結果
1:みかん 2:オレンジ 3:ぶどう
3:繰り返し処理.eachwithindex メソッドの挙動2
以下の処理を実行した場合の動作を選択肢から1つ選んで下さい。
["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i| puts fruit end
選択肢
#選択肢1 以下が出力される 0 1 2
#選択肢2 以下が出力される
みかん
オレンジ
ぶどう
選択肢3 実行エラーになる
3:繰り返し処理.eachwithindex メソッドの挙動2の回答
4: 繰り返し処理.timesメソッドの挙動1
以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。
ruby ruby ruby ruby ruby
5: 繰り返し処理.timesメソッドの挙動2
引き続き以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。
1:ruby 2:ruby 3:ruby 4:ruby 5:ruby
6: 繰り返し処理 後置 unless
以下処理を実行した場合の動作を選択肢から選んでください
[5, 6].each do |a| next unless a == 6 puts a end
A:エラー B:5 C:6 D:5,6
7: 繰り返し処理.all?
all? メソッドを利用した際の奇数判定でtureを返す処理は、以下の選択肢で正しいものはどれか?
選択肢A num=[1,3,5] p num.all?(&:even?)
選択肢B num=[2,3,5] p num.all?(&:odd?)
選択肢C num=[1,3,5] p num.all?(&:odd?)
1-1:繰り返し処理eachメソッドの挙動の回答
回答 選択肢1と3になります。
eachメソッドのお作法は以下2つのどちらかになります。
※コード上で改行が入っても問題ないです。
.each {|hoges| puts hoge } .each do |hoges| puts hoge end
#選択肢1 ["こんにちは","おはよう","さよなら"].each do |greeting|puts greeting end #選択肢3 ["こんにちは","おはよう","さよなら"].each {|greeting| puts greeting }
1-2:繰り返し処理.eachwithindex メソッドの挙動1の回答
設問
実行結果
1:みかん 2:オレンジ 3:ぶどう
回答 以下のような形です。
["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i| puts "#{i+1}"+":"+ "#{fruit}" end
1-3:繰り返し処理.eachwithindex メソッドの挙動2の回答
設問 以下の処理を実行した場合の動作を選択肢から1つ選んで下さい。
["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i| puts fruit end
選択肢
#選択肢1 以下が出力される 0 1 2
#選択肢2 以下が出力される
みかん
オレンジ
ぶどう
選択肢3 実行エラーになる
回答 選択肢2となります。
["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i| puts fruit end #実行結果 #みかん #オレンジ #ぶどう
1-4: 繰り返し処理.timesメソッドの挙動1の回答
設問
以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。
ruby ruby ruby ruby ruby
回答 以下になります。 非常に簡単ですね。
5.times do puts "ruby" end
1-5: 繰り返し処理.timesメソッドの挙動2の回答
設問
以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。
1:ruby 2:ruby 3:ruby 4:ruby 5:ruby
回答 以下になります。
5.times do |num| puts "#{num+1}"+":"+"ruby" end #以下でも可能です。 num = 0 5.times do |num| num += 1 puts "#{num}"+":"+"ruby" end
1-6: 繰り返し処理 後置 unlessの回答
以下処理を実行した場合の動作を選択肢から選んでください 答えはCです。
C:6
繰り返し処理の中でIf文を利用する場合は、後置unlessを利用した方が1行少なく記入できます。
以下よりは
[5, 6].each do |a| if a == 6 puts a end end
以下
[5, 6].each do |a| next unless a == 6 puts a end
1-7: 繰り返し処理.all?の回答
all? メソッドを利用した際の奇数判定でtureを返す処理は、以下の選択肢で正しいものはどれか?
答え選択肢C
選択肢C num=[1,3,5] p num.all?(&:odd?)
all?はブロック内の全ての要素が指定条件に合致した場合tureを返す処理なので、以下はfalseになる
選択肢B num=[2,3,5] p num.all?(&:odd?)
以上になります。
その他関連記事
Rubyの練習問題:配列編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:ハッシュ編|初心者・独学者向け入門コンテンツ
初心者・独学者向け|Rubyの配列処理の入門とよく使うメソッド
初心者・独学者向け|Rubyのハッシュ入門とよく使うメソッド
初心者・独学者向け|Rubyのinitializeメソッドとは