parserALT
Страницы форума: ← Назад | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 600 | Дальше →

Возникает ошибка

#1MihailSmok
26.11.11 19:54
www.parser.ru → | ответить → | в избранное →

Возникает ошибка

http://clip2net.com/s/1lKPI - скриншот ошибки

Код в котором возникает ошибка(2ая строка)
@_checkApp[name][avail]
$avail[$self.config.$name]
^if(!def $avail ||
 def $avail && $avail == 1){
 $result(true)
}{
 $result(false)
}
#2Vint
→ MihailSmok [#1] | 26.11.11 21:06
www.parser.ru → | ответить → | в избранное →

А в $self.config что-нибудь есть?

#3MihailSmok
→ Vint [#2] | 26.11.11 21:13
www.parser.ru → | ответить → | в избранное →
Вот ещё кусок, который возможно поможет:
@init[config]
$self.config[$config]

Я только начал изучать parser и пока не особо понимаю, что написано в коде.
Могу код всего файла скинуть, если надо.
#4Vint
→ MihailSmok [#3] | 26.11.11 21:21
www.parser.ru → | ответить → | в избранное →
Здесь всё выглядит нормально, но в переменной $config лежит строка, а не хеш или таблица, при которых бы сработало $avail[$self.config.$name]
Лучше бы хеш, конечно)

Где вызывается метод init и что в него передаётся?
#5MihailSmok
→ Vint [#4] | 26.11.11 21:28
www.parser.ru → | ответить → | в избранное →
как я понимаю вот вызов
$oApps[^android::init[]]

Если я правильно понял, то входных параметров нет, поэтому и выскакивает ошибка? Самое интересное, что сайт, который я разбираю на локалхосте успешно работает на хостинге сейчас точно с таким же кодом и не генерирует ошибок.
#6Vint
→ MihailSmok [#5] | 26.11.11 21:37
www.parser.ru → | ответить → | в избранное →
Тогда ответ прост -- там более новая версия парсера.
Получается пустая_строка.yandex-search
В последней версии парсера это не вызывает ошибку, раньше вызывало.
Если я правильно, помню, конечно)
#7max_rip
→ MihailSmok [#1] | 26.11.11 23:05 / 23:06
www.parser.ru → | ответить → | в избранное →

А разве не надо оборачивать переменные которые используются как свойство для доступа к чему либо в []

Как-то так
$avail[$self.config.[$name]]
B и скорее всего правильно будет написать так
^if(def $avail[$self.config.[$name]]...)

Да и вообще условие какое-то не правильное
^if(!def $avail || def $avail && $avail == 1)
Если(неопределенно $avail ИЛИ Определено И Равно 1).
Как-то не логично все написано, сложно понять, что хотел автор.
#8Misha v.3
→ max_rip [#7] | 27.11.11 00:58 / 01:48
www.parser.ru → | ответить → | в избранное →
скобки вообще не обязательны. они, как и скобки в выражениях, могут требоваться, чтобы изменить "порядок обработки по умолчанию". но в данном случае никаких разночтений быть не может. а в следующем случае они [B]могли-бы[/B] потребоваться:
$var.[$field].name

т.к. данный код вообще без скобок означает:
$var.[$field.name]



условие абсолютно нормальное: значение не определено или равно 1. что не так?
да, я-бы выкинул def $avai за ненадобностью.
#9max_rip
→ Misha v.3 [#8] | 27.11.11 01:55
www.parser.ru → | ответить → | в избранное →

Про условие, я имел в виду. Что надо пару минут, чтоб понять что хотел автор.

Может я и не прав+)
#10
→ max_rip [#9] | 27.11.11 12:01
www.parser.ru → | ответить → | в избранное →
Проблема решилась обновлением parser'a с 3.4.0 (идёт в комплекте с дэнвером) до 3.4.1.
Страницы форума: ← Назад | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 600 | Дальше →