Learning Set
Kevin 復習
Ruby 学習セッションで実際に引っかかった観点を復習する問題セット
15問の短いセッション
おすすめ順で解くことで、迷わず次の基礎へ進めます。
- 1
次のプログラムを実行すると何が表示されますか? ```ruby a = "Ruby" b = " on Rails" a.concat b a.reverse! p a.index("R", 1) ```
文字列応用レベル - 2
次のプログラムを実行すると何が表示されますか? ```ruby charges = [] total = charges .select { |charge| charge[:active] } .sum { |charge| charge[:amount] } p total ```
Enumerable基礎レベル - 3
次のプログラムを実行すると何が表示されますか? ```ruby amounts = [nil, "abc", "12abc"] p amounts.map(&:to_i) ```
エラー処理応用レベル - 4
次の2つの式の返り値の違いとして正しいものはどれですか? ```ruby charges.select { |charge| charge[:amount] >= 1000 } charges.find { |charge| charge[:amount] >= 1000 } ```
Enumerable基礎レベル - 5
次のプログラムを実行すると何が表示されますか? ```ruby begin raise StandardError.new rescue => e puts e.class end ```
エラー処理基礎レベル - 6
次のプログラムを実行すると何が表示されますか? ```ruby a = "Ruby" b = a a = a + " on Rails" p b ```
文字列基礎レベル - 7
次のプログラムを実行すると何が表示されますか? ```ruby charges = [{ name: "basic", amount: 1000 }] backup = charges + [] charges[0][:amount] = 2000 p backup ```
配列応用レベル - 8
次のプログラムを実行すると何が表示されますか? ```ruby amounts = [1000, 2000, 3000] result = amounts.map! { |amount| amount if amount >= 2000 } p amounts p result ```
Enumerable応用レベル - 9
次のプログラムを実行するとどうなりますか? ```ruby amounts = [1000, 2000, 3000] selected = amounts.select! { |amount| amount >= 1000 } total = selected.sum p total ```
Enumerable応用レベル - 10
次のプログラムを実行すると何が表示されますか? ```ruby charges = [3000, 1000, 2000] backup = charges charges.sort! p backup ```
配列基礎レベル - 11
次のプログラムを実行すると何が表示されますか? ```ruby class Foo attr_reader :a def initialize @a = "REx" end end foo = Foo.new puts foo.a ```
オブジェクト指向基礎レベル - 12
次のプログラムを実行すると何が表示されますか? ```ruby arr = [1, 2].product([3, 4]) p arr ```
配列基礎レベル - 13
次のプログラムを実行すると何が表示されますか? ```ruby a = [1, 2, 3, 4] p a[1..2] ```
配列基礎レベル - 14
次のプログラムを実行すると何が表示されますか? ```ruby a1 = [1, 2, 3] a2 = [4, 2, 3] p a1 & a2 ```
配列基礎レベル - 15
次のプログラムを実行すると何が表示されますか? ```ruby DEFAULT_CHARGES = [ { name: "basic", tags: ["default"] } ] charges = DEFAULT_CHARGES.map(&:dup) charges[0][:tags] << "paid" p DEFAULT_CHARGES ```
配列応用レベル