サーチ…


間違った演算子を使用する

OCamlでは、浮動小数点数と整数の算術演算子が異なります。さらに、これらの演算子は2つの浮動小数点数または2つの整数でしか使用できません。 OCamlで無効な式があります

1.0 + 2.0
1 + 2.0
1 +. 2
1 +. 2.0

それぞれの正しい表現はそれぞれ

1. +. 2.
float_of_int 1 +. 2.
1 + 2
float_of_int 1 +. 2.

浮動小数点への整数の自動キャストはありません。逆もまた同様です。すべてが明示的です。整数演算子と浮動小数点演算子のリスト

操作整数演算子浮動小数点演算子
添加 a + b c +. d
減算 a - b c -. d
乗算 a * b c *. c
分割 a / b c /. d
モジュラス a mod b modfloat cd
累乗 N / a c ** d

ここでabは整数で、 cdは浮動小数点です。

関数の引数について括弧を忘れる

一般的な間違いは、かっこで囲んでいる複合関数の引数を忘れることで、型エラーにつながります。

# string_of_int 1+1;;

Error: This expression has type string but an expression was expected of type int

これは優先順位のためです。実際、上記は次のように評価されます。

# (string_of_int 1) + 1;;

それは間違っている。正しい構文は次のとおりです

# string_of_int (1+1);;

- : string = "2"


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow