parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Баг парсера?

Entar 11.08.2006 14:21 / 11.08.2006 14:24

Вот такая функцейка:
@itemname[str]
$str[^str.match[(')][g']{\'}]
^if(^str.match[(_)][g']){
$array[^str.split[_;lv]]
^array.menu{
$str[$array.piece]
$len(^str.length[])
$len($len-1)
$fletter[^str.left(1)]
$fletter[^fletter.upper[]]
$other[^str.right($len)]
$word[${fletter}$other]
$word
}}{
$len[^str.length[]]
$len($len-1)
$fletter[^str.left(1)]
$fletter[^fletter.upper[]]
$other[^str.right($len)]
$word[${fletter}$other]
$word}
Задача проста, делать каждую букву отдельного слова - Первой. При попытке обработать несколько слов, возникает ошибка: right n(-1) must be >=0. При обработке одного слова, по той же технологии всё пашет на ура и ошибки нет. Код имхо правильный, может есть какой то подводный камень в функции ^str.right(n)?