fFc=: (32&+)@(*&1.8) ]b=:fFc _40 0 100 _40 32 212 cFf=: fFc^:_1 cFf b _40 0 100Результатом фразы f &. g является глагол (g^:_1)@(f & g) . Он может быть рассмотрен как применение “основной” функции под преобразованием (выполняемым глаголом g до операции, с восстановлением, путем обратного преобразования, после нее). Например:
b=: 0 0 1 0 1 0 1 1 0 0 0
sup=: </\ Подавить единицы после первой
sup b
0 0 1 0 0 0 0 0 0 0 0
|. sup |. b Подавить единицы перед последней
0 0 0 0 0 0 0 1 0 0 0
sup&.|. b
0 0 0 0 0 0 0 1 0 0 0
3 +&.^. 4 Умножить, путем взятия экспоненты
12 от суммы логарифмов
(^.3)+(^.4)
2.48491
^ (^.3)+(^.4)
12
]c=: 1 2 3;4 5;6 7 8
+-----+---+-----+
|1 2 3|4 5|6 7 8|
+-----+---+-----+
|.&.> c Распаковать, перевернуть, и упаковать
+-----+---+-----+
|3 2 1|5 4|8 7 6|
+-----+---+-----+
Упражнения
| 26.1 | Используйте следующее для упражнений по чтению и письму.
Попробуйте с аргументами a=: 2 3 5 7 , b=: 1 2 3 4
и c=: <@i."0 i. 3 4 : f=: +&.^. Умножение сложением нат. логарифмов g=: +&.(10&^.) Умножение сложением логарифмов по осн. 10 h=: *&.^ Сложение путем умножения i=: |.&.> Реверс внутри каждой упаковки j=: +/&.> Суммировать внутри каждой упаковки k=: +/&> то-же, но оставив в распакованном виде |