サーチ…
間違った演算子を使用する
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 |
ここでaとbは整数で、 cとdは浮動小数点です。
関数の引数について括弧を忘れる
一般的な間違いは、かっこで囲んでいる複合関数の引数を忘れることで、型エラーにつながります。
# 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