postfixExpression

 Рисунок 6.29. postfixExpression

postfixExpression

Задействованный Доступ

Получите доступ к элементу (переменная или функция) экземпляра class.

 Рисунок 6.30. postfixExpression [Задействованный пункт Доступа]

postfixExpression [Задействованный пункт Доступа]

Этот пример показывает задействованный доступ, используя точку и переменной (aPair.good) и функции экземпляра (aPair.topsy):

class Pair {
   var good : String;
   var bad : String;
   function topsy() {
      def tmp = good;
      good = bad;
      bad = tmp;
   }
}
def aPair = Pair {
   good: 'Sunflower Sprouts'
   bad: 'Lard'
}
println( aPair.good );
aPair.topsy();
println( aPair.good );

Это напечатает:

Sunflower Sprouts 
Lard

Вызов функции

Вызов функции, также известный как вызов функции, то, как функции, хорошо..., вызываются.

 Рисунок 6.31. postfixExpression [Пункт вызова функции]

postfixExpression [Пункт вызова функции]

 Рисунок 6.32. 


Это - пример вызывания функции сценария, см. Задействованный раздел Доступа для примера вызывания функции экземпляра:

function squared(x : Number) : Number { x * x }
println( squared(14,2) );

Избранная последовательность

Последовательность избранное выражение оценивает к новой последовательности, содержащей выбранные элементы другой последовательности.

 Рисунок 6.33. postfixExpression [Последовательность Избранный пункт]

postfixExpression [Последовательность Избранный пункт]

Элементы включаются в получающуюся последовательность, если Булев valueExpression оценивает к истине. Имя обеспечивает имя для каждого элемента для использования в valueExpression. Например:

def seq = [1..100];
def selected = seq[x | (x*x) < 20];
println( selected );

Выбранные элементы seq - те, квадрат которых - меньше чем 20. Таким образом, следующее печатается:

[ 1, 2, 3, 4 ]

Отметьте, что этот выбор, возможно, также был сделан с эквивалентом для выражения:

def selected = for (x in seq where (x*x) < 20) x;

Индексация последовательности

Последовательность, индексирующая доступы выражения единственный элемент последовательности в предоставленном, индексирует. Если никакой элемент не существует в этом, индексируют, выражение индексации последовательности оценит к значению по умолчанию для спецификатора элемента последовательности.

 Рисунок 6.34. postfixExpression [Индексируют пункт]

postfixExpression [Индексируют пункт]

Например:

def seq = [100..105];
println( seq[0] );
println( seq[3] );
println( seq[22] );
println( seq[-1] );

Здесь спецификатор элемента seq является Целым числом, таким образом, следующее печатается - так как нуль является значением по умолчанию Целого числа:

100 
103 
0 
0

Тип выражения индексации последовательности является типом спецификатора элемента индексированной последовательности (тип элемента).

Часть последовательности

Выражение части последовательности оценивает к последовательности, которая является частью другой последовательности. Элементы, которые составляют часть, определяются диапазоном индексов.

 Рисунок 6.35. postfixExpression [Пункт части]

postfixExpression [Пункт части]

Два valueExpressions дают начало и окончание диапазона. Начало является всегда содержащим, окончание диапазона является содержащим, если меньше знак не используется. Окончание valueExpression является дополнительным, и если отсутствующий, окончание диапазона является последним, индексируют последовательности. Например:

def usprez = ['Washington', 'Adams', 'Jefferson', 'Madison', 'Monroe'];
println( usprez[1..3] );
println( usprez[1..<3] );
println( usprez[3..] );
println( usprez[3..<] );

Напечатает к консоли:

[ Adams, Jefferson, Madison ]
[ Adams, Jefferson ] 
[ Madison, Monroe ] 
[ Madison ]

Тип выражения части последовательности является типом последовательности, к которой применяется пункт части.




Spec-Zone.ru - all specs in one place