TriplePowersOf2=: (3&*)@(2&^) TriplePowersOf2 0 1 2 3 4 3 6 12 24 48 CubeOfDiff=: (^&3)@- 3 4 5 6 CubeOfDiff 6 5 4 3 _27 _1 1 27 f=: ^@- Правый глагол сначала применяется диадно, если возможно; левый применяется монадно. 5 f 3 7.38906 f 3 0.0497871 g=: -@^ 5 g 3 _125 g 3 _20.0855Как и наречия, cоюзы выполняются перед глаголами. Их левым аргументом считается все предшествующее глагольное выражение. Соответственно, некоторые (но не все) скобки в предыдущих определениях можно опустить. Например:
COD=: ^&3@- 3 4 5 6 COD 6 5 4 3 _27 _1 1 27 TPO2=: 3&*@(2&^) TPO2 0 1 2 3 4 3 6 12 24 48 tpo2=: 3&*@2&^ Ошибка, поскольку союз @ определен |domain error только для глагольного правого аргумента | tpo2=: 3&*@2&^
Упражнения
8.1 | Закройте комментарии справа и опишите действие,
производимое программами. Потом закройте программы
и запишите их снова, используя описания на русском: mc=: (+/%#)@|: Среднее столбцов таблицы f=: +/@(^&2) Сумма квадратов элементов списка g=: %:@f Геометрическая длина списка h=:{&' *'@(</) Карта сравнения (диада) k=: i. h i. Карта (монада) map=: {&'+-* %#$' Карта из 7-ми символов MAP=: map@(6&<.) Расширенный диапазон для map add=: MAP@ (i.+/i.) Карта таблицы сложения |