parser


 

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

Это один из способов передачи параметров методу...

Sumo 04.10.2012 00:07 / 04.10.2012 00:08

Вместо точки запятой можно использовать скобки, часто это бывает удобно, если в последнем параметре передается хеш:
# Следуюшие вызовы равнозначны
   ^method[a;b;c;d]
   ^method[a][b][c][d]
   ^method[a;b][c;d]

# Передаем хеш
   ^method[a;b;c][
     $.param1[value1]
     $.param2[value2]
   ]
Квадратные скобки, на мой взгляд, имеет смысл писать только если это улучшает читаемость конкретного вызова метода.

Но есть более интересные случаи, когда без комбинации скобок не обойтись. Это отлично можно проиллюстрировать на примере оператора (метода) for:
# Интерфейс метода for можно описать на Парсере так
@for[varname;from;to;code;separator]

# А при вызове мы используем разные скобки, чтобы указать 
# Парсеру как использовать каждый из параметров
  ^for[i](1;10){code $i}[separator]
В данном случае скобки не только улучшают читаемость конструкции, но и позволяют реализовать правильную логику работы цикла. Если бы мы использовали квадратные скобки, то получили бы совсем не тот результат на который рассчитывали. :)