Если я хочу, чтобы увидеть, если строка является допустимым числом, я могу сделать:Внутренняя работа вызова Integer ('string')?
puts Integer('1') #=> 1
как любой нецелых бы вызвать ошибку:
puts Integer('a') #=> invalid value for Integer(): "a" (ArgumentError)
Если я хочу, чтобы убедиться, что мой переменная является как Float и целое, я не хочу повторяться, так что я пытаюсь поставить классы в списке:
x = '1'
[Integer, Float].each{|c| puts c(x) } #=> undefined method `c' for main:Object (NoMethodError)
Будет ли кто-нибудь объяснить, почему это не работает, и если есть какой-то способдобиться того, что я ищу? Какой метод вызова Integer(var)
?
Обратите внимание: у меня нет проблемы с реальным миром, которую я пытаюсь решить здесь, мне просто интересно.
Другой способ: '[: Integer,: Float] .each {| с | puts send (c, x)} ' – dusan