将期望的输入从字符串转换为bool



有任务:写出一个函数printmat : bool array array -> unit = <fun>给定一个bool矩阵,它在屏幕上以1和0打印它,而不是真和假

# let matrix =[|[| false ; true ; false |];[| true ; false ; false
|];[| false ; false ; true |];[| false ; false ; false |]|];;
# printmat matrix ;;
010
100
001
000

到目前为止我已经做到了:


let matrix = [|
[|true; true; false; false|];
[|false; false; true; true|];
[|true; false; true; false|];
[|true; false; false; true|]
|];;
let print_s matrix =
let n = Array.length matrix in
for i = 0 to n - 1 do
let n1 = Array.length matrix in
for j = 0 to n1 - 1 do
print_string matrix.(i).(j);
done;
print_string"/n";
done;;

但是,我的函数有一个类型string array array而不是bool array array。它也影响函数的调用,因为我的代码只适用于已经声明的矩阵,我不能用给定的矩阵调用函数,因为它期望bool类型。

您应该查看Printf模块,特别是printf的转换规范(与fprintf相同)。

要输出bool值,只需要输入

Printf.printf "%B"

[EDIT]不要使用%b,它已被弃用

最新更新