いろいろな式と値、型

 

整数以外には、浮動小数文字列などの値、浮動小数演算や文字列演算などの式があります。ただしMLでは整数と浮動小数のように、異なる種類の値は厳しく区別されています。足し算や掛け算ですら、整数は+*、浮動小数は+.*.と異なります。

 

# 1.2 -. 3.4 ;;

- : float = -2.2

# 5.6 +. 7.8 *. 9.0 ;;

- : float = 75.8

# "hello" ^ "world" ;;

- : string = "helloworld"

 

先程からintとかfloatとか表示されているのは、このような値の種類のことです。このような値の種類のことを「型」と呼び、「値123の型はintである」「式1.2 -. 3.4の型はfloatである」等と言います。MLは型について厳しい言語で、型が合わないとエラーになります。

 

# "123" + 456 ;;

Characters 0-5:

  "123" + 456 ;;

  ^^^^^

This expression has type string but is here used with type int

# 3 * 7.0 ;;

Characters 4-7:

  3 * 7.0 ;;

      ^^^

This expression has type float but is here used with type int

 

これは一見すると面倒そうですが、複雑なソフトウェアの開発では非常に有効です。

 

問題: 次の中からエラーになる式を選んでください。

1.        "123" ^ "456"

2.        "123" + "456"

3.        123 +. 456.0

解答: 2.3.

 

次へ進む