Вы можете написать код OCaml обязательно, да.OCaml имеет матрицы (представленные как массивы массивов), матрицы являются изменяемыми, и он имеет оператор for
.Таким образом, вы можете написать код, который выглядит очень похоже на то, что вы написали на Java.
Однако позор OCaml позорить только для написания императивного кода!
Вот некоторые фрагменты кода, которые выможно сложить:
# let m = Array.make_matrix 3 3 0;;
val m : int array array = [|[|0; 0; 0|]; [|0; 0; 0|]; [|0; 0; 0|]|]
# m.(1).(1) <- 1;;
- : unit = ()
# m;;
- : int array array = [|[|0; 0; 0|]; [|0; 1; 0|]; [|0; 0; 0|]|]
# for i = 0 to 9 do Printf.printf " %d" i done;;
0 1 2 3 4 5 6 7 8 9- : unit = ()
В OCaml нет ничего особенного в многострочной функции.Вот функция, которая делает три вещи.Вы можете написать его в одну или в несколько строк:
let f x =
Printf.printf "I will now write the value of x\n";
Printf.printf "Here is the value of x: %d\n" x;
Printf.printf "I just wrote the value of x\n"
В OCaml ;
используется для отдельных выражений, которые должны оцениваться по порядку.Т.е. после последнего выражения нет ;
.