![]() |
|
|
![]()
|
|
| segods |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 14.2.2008 Репутация: нет Всего: нет |
Сабж.
Есть класс, внем обьявлен хеш @links=Hash.new("qwe"=>"asd") Позже в процедуре def geturl добавляется пара ключ-значение @links.[]=(2,2). При выполнении ruby spider.rb вылетает ошибка: spider.rb:23: warning: parenthesize argument(s) for future version spider.rb:25:in `geturl': undefined method `[]=' for nil:NilClass (NoMethodError) from spider.rb:24:in `each' from spider.rb:24:in `geturl' from spider.rb:44 Если перед @links.[]=(2,2) поставить @links=Hash.new то программа выполняется без ошибок. Обьясните в чем проблема? Может я с видемостью напутал, хотя в def geturl спокойно читаю глобальную @links ... Версия Ruby: ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-linux]
|
|||
|
||||
| setq |
|
|||
|
Unregistered |
Кажется, class-level @xxx и instance-level @xxx значат не одно и то же. В любом случае, тебе необходимо перенести код
в метод initialize . |
|||
|
||||
| segods |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 14.2.2008 Репутация: нет Всего: нет |
Да, проблема решилась)) Всем спасибо)
|
|||
|
||||
![]()
|
| Правила форума "Ruby: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |