Продолжение строки в Envision

Продолжение строки












Главная » Ресурсы » Здесь

Грамматика Envision позволяет использовать явные и неявные механизмы продолжения строки, позволяющие записывать код в несколько строк, которые будут прочитываться как одна. Для открытого продолжения строки используется символ \. Однако если строка заканчивается элементом, который не может быть последним в строке, система воспринимает следующую строку как продолжение предыдущей.

Обзор

Правило продолжения строки: если перед последовательностью (символом новой строки или табуляции) стоит элемент, который не может быть последним в строке, а равно после последовательности стоит элемент, который не может быть первым в строке, то последовательность (начинающаяся с символа новой строки или табуляции) полностью игнорируется. Например, & не может быть в конце строки, поэтому строки можно поделить следующим образом:
where ThisIsAVeryLongConditionExpression & 
      ThisIsAnotherVeryLongConditionExpression
  A = sum(B)

Такая запись компактнее, и лучшее использовать ее, а не символ открытого продолжения строки:
where ThisIsAVeryLongConditionExpression & \
      ThisIsAnotherVeryLongConditionExpression
  A = sum(B)

Таким же образом, в начале строки не может быть операторов if и at, поэтому можно записать код так:
A = sum(B) by [Key, Key, Key]
           at [Key, Key, Key]
           if Condition

Элементы продолжения строки

Данные элементы подразумевают продолжение, только если они стоят в конце строки. К ним относятся следующие:

  • +, -, ~, not
  • ^, ^*, >>, <<
  • *, /., /, mod, **, +*, -*
  • <=, <, >=, >, ==, !=, ~~, !~
  • &, |
  • :=, =

Кроме того, инфиксные операторы не могут стоять в начале строки:

  • by, at, if, or, cross, over, sort
  • into
  • as