【发布时间】:2019-03-16 20:11:41
【问题描述】:
我无法理解如何在 ocaml 中编写函数,因为我只编写了不需要由 ; 分隔的多行的递归函数。
我正在尝试创建一个给定整数 n 的函数,它返回一个充满零且对角线上只有一个的矩阵,因此是一个大小为 n 的单位矩阵。
我是函数式编程和 ocaml 的新手,所以我想知道是否可以用命令式的方式编写它。
例如在 Java 中我会写:
public int[][] identity(int size) {
int[][] matrix;
matrix = new int[size][size];
//fill the matrix with zeroes
for( int i=0; i<size; i++){
for( int j=0; j<size; j++){
matrix[i][j] = 0;
}
}
//diagonal values at 1
for (int i=0; i<size; i++){
matrix[i][i] = 1;
}
return matrix;
}
如何在 ocaml 中实现这一点?
【问题讨论】:
标签: ocaml