さて、私はOCamlの使用semicolon (single and double)
と使用に問題があります。nested if else
例えば
let union u p q =
let rec unionfy id_ary i =
if i < Array.length id_ary then begin
if id_ary.(i) = p then begin
id_ary.(i) <- id_ary.(q);
print_array id_ary 0;
end
unionfy id_ary (i + 1);
end
else print_string "end of union";
in
unionfy u.id_ary 0;;
コンパイラは言ったline 18, characters 29-95:
Error: This expression is not a function; it cannot be applied
問題のある行は ですがif id_ary.(i) = p then begin
、理由がわかりません。
また、誰でもsemicolon
物事についてもっと教えてもらえnested if else
ますか?
ここに私の心の中でいくつかの質問があります:
- いつ使用し
single semicolon
ますか? 複数の式に使用する場合double semicolon
、最後の式の後に a を追加する必要がありますか? begin end
内部で複数使用できますnested if
か?else
結果がunit and do nothing
?の場合、追加する必要はないようです。