parser

/faq/faq
/authors/авторы
/docs/документация

/powered_by_parser/в действии
/feedback/куда говорить
/jargon/жаргон

/download/скачать

/examples/примеры
/forum/форум



Поиск по форуму

По умолчанию ключевое слово ищется только в заголовке сообщения.

Ключевое слово:

Фильтровать по автору:



_ответ

Sanja | bougakov@mairu.com 03.08.2001 12:39

Оп-па, и ты на это нарвался... Ну что ж, здравствуй, друг... ;-)

Проверяем первый вариант - смотрим, как Парсер цыферки сравнивает:

^if[(1==1)&&(2==2);
Ok!<br>;
Ba-a-ad...
]
Результат - OK - надо же!
^if[(a==a)&&(b==b);
Ok!<br>;
Ba-a-ad...]
Результат: [if: Bad variable or table item name near '==a)&&(b==b)']
^if[('a'=='a')&&('b'=='b');
Ok!<br>;
Ba-a-ad...
]
Результат: [if: Syntax error near ''a'=='a')&&('b'=='b')']

"А-а, - сказали мужики - логический оператор "==" умеет сравнивать только цифры! А операторов для сравнения строк, окромя ^eq[] - нету. Нет бы как в перле - ^if[('a' eq 'a')&&('b' eq 'b') - фиг вам!"

Когда тебе надо выполнять некую условную операцию, если соблюдены два условия, делай так, например:
^eq[строка1;образец1;
 ^var[token1;1];^var[token1;0]]
^eq[строка2;образец2;
 ^var[token2;1];^var[token2;0]]
а затем делаешь if по двум числовым переменным:
^if[(^var[token1]==1)&&(^var[token2]==1);
Ok!<br>;
Ba-a-ad...
]
Господа, вам не кажется, что мы гланды немножко не через то место удаляем? И что в табличку "Логически операции" на http://www.parser.ru/docs/general.html#1-7 так и просятся eq и ne?

<<  Вернуться к списку сообщений


E-mail: mailbox@parser.ruCopyright © 1997-2001 Студия Артемия Лебедева