Звучит так, как будто вы ищете map
:
arrayoftotals = [total, subtotal, tax].map { |x| convert_to_float(x) }
или, поскольку convert_to_float
- это метод того же класса, что и verify_amounts
, вы можете использоватьObject#method
метод , чтобы написать это так:
arrayoftotals = [total, subtotal, tax].map(&method(:convert_to_float))
Например, это:
class Pancakes
def convert_to_float(currency)
currency.gsub(/[^\d.]/, '').to_f
end
def verify_amounts(total, subtotal, tax)
arrayoftotals = [total, subtotal, tax].map(&method(:convert_to_float))
puts arrayoftotals.inspect
end
end
Pancakes.new.verify_amounts('where1.0', '2.is0', '3.0house')
даст вам [1.0, 2.0, 3.0]
на стандартном выходе.