2.3.2 練習問題

練習問題 2.5

自分の解答

  1. 有効
  2. 有効
  3. 有効
  4. 無効
  5. 無効
  6. 無効

実行結果

1.
# let a_2' = 2;;
val a_2' : int = 2
# a_2';;
- : int = 2

2.
# let ____ = 2;;
val ____ : int = 2
# ____;;
- : int = 2

3.
# let Cat = 2;;
Characters 4-7:
  let Cat = 2;;
      ^^^
Unbound constructor Cat

4.
# let _'_'_ = 2;;
val _'_'_ : int = 2
# _'_'_;;
- : int = 2

5.
# let 7eleven = 2;;
Characters 5-11:
  let 7eleven = 2;;
       ^^^^^^
Syntax error

6.
# let 'ab2_ = 2;;
Characters 4-5:
  let 'ab2_ = 2;;
      ^
Syntax error

7.
# let _ = 2;;
- : int = 2
# _;;
Characters 0-1:
  _;;
  ^
Syntax error

1番目、2番目は正解。

3番目は1文字目が大文字のためエラー。

4番目から6番目は正解。

7番目は正解。変数束縛(let定義)は行えるが、変数参照時にエラーとなった。


なんとか2章まで進みました。全部で16章ですから、12.5%の進捗です。

結構初歩的なミスをしています。なんちゃってプログラマーは、やはりなんちゃってプログラマーでした。

次は「第3章 関数型言語の醍醐味:関数」です。一番のキモとなる部分かと思います。最初の大きな山かもしれません。