У меня странная ситуация, когда код:класса с помощью Eval динамически созданной строки метода ДЕФа
c = Class.new { eval parser }
... работает в IRB (рубиновый 1.9.3), но не в коде. Я пробовал его с и без «класса Foo», обертывая мои методы. Это расстраивает, мягко говоря. Я могу скопировать содержимое синтаксического анализатора непосредственно в переменную parser в irb, а затем создать класс, используя указанную выше строку, и мои методы все есть, но когда я делаю это в коде, это не так.
Какая ваша ошибка в своём кодексе? – shingara
Нет ошибки, пока я не попытаюсь создать экземпляр нового класса. Когда я пытаюсь использовать обновленную инициализацию (которая передает его дескриптор БД), который терпит неудачу. –
Может быть, более полный фрагмент кода может помочь – shingara