Spec-Zone .ru
спецификации, руководства, описания, API

Свяжите Определения

Связанное выражение является выражением, значение которого обновляет, когда его зависимости изменяются. Зависимости, механизм обновления, и создание связанных выражений обсуждаются ниже.

[Чтобы сделать: определите "зависимости"]

Связанные выражения оцениваются в контексте связывания; вся другая оценка находится в нормальном контексте. Связанное выражение, возможно, не содержит присвоение или итерацию. Присвоение включает инкремент и декремент. Итерация является циклом с условием продолжения (не для выражения).

Переменная (экземпляр, сценарий, или локальная переменная) может быть связана с выражением. То выражение, конечно, является связанным выражением.

Определение локальной переменной с выражением инициализации создает привязку от локальной переменной до выражения, если определение явно связывается:

def varName = bind expression

или если определение находится в контексте связывания.

Определение переменной сценария с выражением инициализации создает привязку от переменной экземпляра до выражения, если определение явно связывается.

Определение переменной экземпляра с выражением инициализации создает привязку от переменной экземпляра до выражения, если определение явно связывается и не переопределяется или заменяется объектным литеральным выражением инициализации. Определения классов не оцениваются и таким образом не имеют контекстов связывания, таким образом, инициализация переменной экземпляра без явного связывает, не может создать привязку. Объектный литеральный компонент создает привязку от переменной экземпляра до выражения, если компонент явно связывается:

className { instanceVariableName: bind expression } 

Привязка между переменной и выражением означает интуитивно, что переменная поддерживает значение выражения. Определенно, это означает, что переменная обновляется, когда зависимости выражения изменяются.