Конструкция with
Конструкция with позволяет упростить обращение к полям переменной структурного типа. Рассмотрим такой пример.
customer mycust
mycust.id = i++
mycust.name = "John"
mycust.country = "US"
mycust.phone = "999 999 999"
mycust.email = "john@domain.com"
mycust.check = mycust.id + 100
Как видно, нам приходится каждый раз указывать имя переменной. with позволяет опускать имя переменной внутри своего блока. Для этого укажите имя переменной после ключевого слова with и внутри фигурных скобок вы можете указывать только точку и имя соответствующего поля. Конструкции with могут быть вложенными друг в друга.
customer mycust
with mycust
{
.id = i++
.name = "John"
.country = "US"
.phone = "999 999 999"
.email = "john@domain.com"
.check = .id + 100
}