#function #functional-programming #j
#функция #функциональное программирование #j
Вопрос:
У меня есть этот код:
f1 =: some function that returns list of numbers
f2 =: some function that returns list of numbers
f3 =: some function that returns list of numbers
f4 =: some function that returns list of numbers
max_mult_all =: (*/f1) >. (*/f2) >. (*/f3) >. (*/f4)
Есть ли лучший способ инициализации max_mult_all
? Что, если у меня есть сотни этих функций? Возможно ли использовать стиль Insert( /
)?
Спасибо!
Ответ №1:
Да, если вы сначала выделите каждую функцию, вы можете */
каждый список, а затем >./
результаты:
>./ ; */ each (f1;f2;f3;f4) y
Более того, если функции имеют одинаковую форму и размер, вы можете поместить их в герундий
F =: f1`f2`f3`f4
из которого вы строите матрицу результатов
M =: F `:0 ] y
а затем выполните свои вычисления над матрицей
>./*/"1 M
Комментарии:
1. использование
every
вместоeach
then означает, что вам не нужно использовать;
. т.е.>./ */ every (f1;f2;f3;f4) y
2. @Tikkanz, действительно, использование
every
здесь более уместно.