g=: +`^ a=:< 2 a 3 1 2 g@.a 3 8 3 g@.a 2 5 +:`-:`*:`%: @. (4&|@<.)"0 i. 10 0 0.5 4 1.73205 8 2.5 36 2.64575 16 4.5Произведенный g@.a глагол часто называется выбор или оператор case, поскольку он выбирает для исполнения один из “вариантов” герундия.
c=:3 [ x=: 4 [ power=: _1 g/ c,x,power 3.25 3+x^_1 3.25Элементы герундия повторяются циклически, сколько требуется. Например:
+`*/1,x,3,x,3,x,1 125Последнее предложение соответствует правилу Хорнера для эффективного вычисления многочлена с коэффициентами 1 3 3 1 и аргументом x .
Упражнения
21.1 | Определите функцию f , такую что (x=: 4) f c=: 1 3 3 1
дает результат, применимый потом в качестве аргумента для +`*/
в методе Хорнера. Ответ: f=: }.@,@,. |