Rubyクイズ

こんにちは、dev.toの皆さん!
これが僕の初めての投稿です。頭を使うゲームが好きな人がいるといいなと思っています。面白いパズルをいくつか紹介したいと思います。
1. コードの正しい結果を選んでください (ruby 3.0):
{ 'language' => 'ruby', 'position' => 'engineer' }.transform_keys({ language: 'rust' }, &:to_sym)
{"rust"=>"ruby", :position=>"engineer"}{ :rust => 'ruby', :position => 'engineer' }{ "rust" => :ruby, 'position' => :engineer }{ :rust => :ruby, :position => :engineer }
答えは {"rust"=>"ruby", :position=>"engineer"} です。
2. コードの正しい結果を選んでください (ruby 3.0):
{ e: :n, g: :i, n: :e, e: :r }.except(:e)
NoMethodError (undefined method 'except'){:g=>:i, :n=>:e}{:g=>:i, :n=>:e, :e => :r}{ :e => :n, :g => :i, :n => :e }
答えは {:g=>:i, :n=>:e} です。
3. ラムダを呼び出す誤った方法を選んでください
->(){}::call->(){}[]->(){}()->(){}::===
答えは ->(){}() です。
4. コードの正しい結果を選んでください
!?q::!. |001
truefalseraise an error1
答えは false です。
5. 配列 [0,1,2,3,4,5] を作成する正しい方法を選んでください
Array[0..5](0..4).take(5)[*0..5]String(012345).split('').map(&:to_i)
答えは [*0..5] です。
6. 以下のコードがあります
class Animal
@@count = 0
def self.inc
@@count += 1
end
def self.count
@@count
end
end
class Cat < Animal
@@count = 100
def self.count
@@count
end
end
Animal.inc
Cat.inc
コードの正しい結果を選んでください
[Animal.count, Cat.count]
[1, 101][101, 101][1, 102][102, 102]
答えは [102, 102] です。
7. 以下のコードがあります
class Item
def self.count
$COUNT
end
def self.increment
$COUNT += 1
end
end
BEGIN { $COUNT = 0 }
Item.increment
コードの正しい結果を選んでください
Item.count
01101undefined method '+' for nil:NilClass
答えは 1 です。
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/neodelf/ruby-quiz-4hb4








