Ruby: как сделать так, чтобы класс возвращал true?

Я новичок в ruby ​​и не знаю, как заставить test вернуть 'true'

class Hash
  def in(*)
  end
end

# cannot alter below this line
def test
  { a: 1 }.in(:a) == 1
end

puts "test: #{test}"

Насколько я понимаю, в класс Hash вставлен метод, но я не знаю, как получить «значение» переданного аргумента, если это имеет смысл. В любом случае, я довольно потерян. Спасибо за помощь.

🤔 А знаете ли вы, что...
Ruby имеет множество фреймворков для разработки игр и визуализации данных.


63
1

Ответ:

Решено

Метод in в классе Hash не был определен для возврата чего-либо.

Вам нужно определить метод in в хеш-классе:

class Hash
  def in(key)
    self[key]
  end
end

def test
  { a: 1 }.in(:a) == 1
end

puts "test: #{test}"