0
Как я могу изменить следующий код без использования eval. Есть ли способ, которым я могу использовать функцию getroot на основе аргумента при инициализации кучи.Как использовать псевдоним метод на основе ввода от пользователя
class Heap
def initialize arr,type=:min
newfunc = "get#{type.to_s}".to_sym
eval ("class << self; alias #{newfunc} :getroot; end")
end
def getroot
puts "Inside Getroot"
end
end
a = Heap.new([1,2,3],:max)
a.getmax #prints Inside Getroot
b = Heap.new([1,2,3],:min)
b.getmin #prints Inside Getroot
Thankz Rachel. Это то, что я искал. – ramz