parser

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

 

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

Откуда берётся пробел? Как бороться?

Василий М. 17.08.2011 06:32

Привет, дорогой ^saynumber[]! - говорит сайт.

(@saynumber[] - это порядковый номер посетителя по счётчику.)

^saynumber[] выдаёт слова без конечного пробела, а в конструкции ^saynumber[]Х, где Х - что угодно, втыкается пробел.

Как бороться?!

___________________________________

Чисто на всякий,
@saynumber[]
$nomer($is)
$tys(^math:floor(^eval($nomer/1000)))
$sto(^math:floor(^eval(($nomer-$tys*1000)/100)))
$des(^math:floor(^eval(($nomer-$tys*1000-$sto*100)/10)))
$yed(^math:floor(^eval($nomer-$tys*1000-$sto*100-$des*10)))

^if($tys > 0){^numero.menu{^if($numero.digit eq ^eval($tys*1000)){^if($yed eq 0 && $des eq 0 && $sto eq 0){$numero.pronounce}{$numero.continuing}}{}}}{}
^if($sto > 0){^numero.menu{^if($numero.digit eq ^eval($sto*100)){^if($yed eq 0 && $des eq 0){$numero.pronounce}{$numero.continuing}}{}}}{}
#надцатые
^if($des eq 0001){
$nad(^eval($des*10 + $yed))
^numero.menu{
^if($numero.digit eq $nad){$numero.pronounce}{}
}}{
^if($des > 0){^numero.menu{^if($numero.digit eq ^eval($des*10)){^if($yed > 0){$numero.continuing}{$numero.pronounce}}{}}}{}
^if($yed > 0){^numero.menu{^if($numero.digit eq $yed){$numero.pronounce}{}}}{}}
$numero - это таблица .cfg по аналогии с sections в уроках;
$numero.pronounce - это столбец с финальным значением ("восьмидесятый"),
$numero.contunuing - это столбец с промежуточным значением ("восемьдесят", далее следующий разряд).

В таблице numero никаких пробелов совершенно точно нет.