скрипт.

Started by SKYnv, September 10, 2012, 03:06:07 PM

Previous topic - Next topic

SKYnv

писал сейчас скриптик в котором нужно будет нужный оид найти обрезать не нужно и как-то обозвать и чтобы не городить множество Substr решил сделать процедурку.

sub exchar(str,len)
{
i= length(str)-len;

println(typeof(length(str)). " value->".length(str));
println(typeof(len). " value->".len);
println(typeof(i). " value->".i);
test=i-1;

return substr(str,len,i);

}


ошибка в строке test=i-1; и вообще любая попытка что-то сделать с данным значением приводит к ошибке.

в логе пишеться следующее, не пойму, что не так?
Quote[10-Sep-2012 18:00:24] Error compiling library script TestSNMP (ID: 10012): syntax error, unexpected T_INT32

Victor Kirhenshtein

Это оказался забавный баг в парсере - он "i-1" воспринимает как два токена, а не три: идентификатор i и константу "-1". Если после - поставить пробел, то все будет работать как надо. Я добавлю в багтрекер, но исправлю уже только в 1.2.4 - 1.2.3 уже запакована.

SKYnv

Quote from: Victor Kirhenshtein on September 10, 2012, 03:16:37 PM
Это оказался забавный баг в парсере - он "i-1" воспринимает как два токена, а не три: идентификатор i и константу "-1". Если после - поставить пробел, то все будет работать как надо. Я добавлю в багтрекер, но исправлю уже только в 1.2.4 - 1.2.3 уже запакована.
ну воооот ) а я часок потратил на перебор всех возможных вариантов ) даже вон типы провепил на всяк случай ))
спасибо )