Посмотрите на определение из clatrix/map-indexed
.Он принимает функцию трех аргументов (индекс строки, индекс столбца и элемент в этой позиции) и матрицу.
Во внутренней функции (fn [i j n] (if (= i j) 1 n)
, n
связан не сколичество строк в матрице, но значение в позиции (i, j), которое всегда равно нулю, потому что матрица init
была инициализирована нулями.
Похоже, книга используеточень запутанная запись (поскольку n
связана с количеством строк в матрице внешней функции, было бы лучше назвать третий аргумент внутренней функции x
или как-то еще), но функция все равно должнаработа.