Я написал эту мини-тест-программу для сохранения массивов в массиве:неопределенные локальные переменный или метод `обр»
arr = Array.new
def w(num,text)
arr << [num, text]
end
w(0123, "was")
w(3453, "hallo")
w(0123, "umbau")
w(0342, "farruko")
arr.each do |f|
puts f.first.to_s + f.last
end
Но как-то я получаю ошибку:
arraytest.rb:5:in `w': undefined local variable or method `arr' for main:Object
(NameError)
from arraytest.rb:8:in `<main>'
Что делать я неправильно ? Спасибо
Soory но еще один вопрос! Возможно ли, что, когда я передаю номер '0123', он останется десятичной цифрой, а не« 83 »? –
Не рекомендуется продвигать использование 'define_method' с лямбдой в этом случае. Это может вызвать несколько проблем с памятью, если вы не знаете, как лямбда и как она работает. Фактически, это может предотвратить сбор мусора. В нижней строке, если вам просто нужно определить метод, используйте классическое определение метода, нет необходимости в фантастическом метапрограммировании. –
Согласовано, это яркий пример того, когда язык «позволяет программисту делать то, что он хочет», гибкость может быть подвергнута насилию со стороны королевской семьи. –