parser

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

 

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

В Парсере нет null-значений...

Sumo 02.11.2015 09:01 / 02.11.2015 09:41

... поэтому правила проверки определена переменная или нет задаёт программист. И def и даже "is void" нам не подходит потому что "пустая строка" — это тоже значение, которое далеко не всегда надо игнорировать.

Кроме того, синтаксис $var[...;...;...;...] хорошо бы оставить для списков (массивов), которые в языке будут гораздо полезнее, чем встроенный coalesce. Хотя он и не совсем подходит, если у нам надо создать список из одного элемента. :)

p.s. Себе сделал метод ifdef:
@ifdef[aValue;aDefaultValue]
## Возвращает значение aValue, если переменная определена или возвращает aDefaultValue.
## Лучше передавать значение по-умолчанию как код:
## ^ifdef[value]{default}
## ^ifdef[value](expression)
  $result[^if(def $aValue){$aValue}{$aDefaultValue}]