RosettaCodeData/Task/Loop-over-multiple-arrays-simultaneously/OCaml/loop-over-multiple-arrays-simultaneously-2.ml
2024-10-16 18:07:41 -07:00

11 lines
344 B
OCaml

let n_arrays_iter ~f = function
| [] -> ()
| x::xs as al ->
let len = Array.length x in
let b = List.for_all (fun a -> Array.length a = len) xs in
if not b then invalid_arg "n_arrays_iter: arrays of different
length";
for i = 0 to pred len do
let ai = List.map (fun a -> a.(i)) al in
f ai
done