Skip to content

浅井健一『プログラミングの基礎』でプログラミングやOCamlを学ぶ。

Notifications You must be signed in to change notification settings

numb86/learn-ocaml

Repository files navigation

浅井健一『プログラミングの基礎』サイエンス社

著者によるサポートページ

OCamlのバージョンは4.06.0

セットアップ

以下の内容でセットアップした。
『プログラミングの基礎』を読み進めるためにMacBookにOCaml用の環境を整備した - Qiita

まず、Homebrewでインストール。

$ brew install ocaml

これにより、$ ocmalでOCamlの対話環境が実行される。
対話環境を終了するにはCtrl+D。

デフォルトではカーソルキーが使えないので、rlwrapというツールをインストールする。これもHomebrewでインストールできる。

$ brew install rlwrap

$ rlwrap ocamlで対話環境を起動すると、カーソルキーが使えるようになる。
以下の方法でエイリアスを設定しておけば、$ ocamlだけでカーソルキーを使える。

  1. $ vim ~/.bash_profileで設定ファイルを開く
  2. 末尾にalias ocaml='rlwrap ocaml'を追記、保存して終了
  3. $ source ~/.bash_profileで設定を反映させる

以下の方法で、文字コードをUTF-8にする。
$ vim ~/.ocamlinitで設定ファイルを作成して開き、次のように記述して保存。

let printer ppf = Format.fprintf ppf "\"%s\"";;
#install_printer printer;;

これで完了。

対話環境について

#がプロンプト。
;;が入力の区切りであり、これを見て、対話環境はプログラムの実行を開始する。

# #use "ファイル名" ;;とすることで、OCamlファイルを読み込める。OCamlファイルの拡張子は.ml

メトロネットワーク最短経路問題

本書では、メトロネットワーク最短経路問題を題材として扱っていく。
これは、ふたつの駅名を与えられると、そのふたつを結ぶ最短の経路を見つけるプログラムを作ること。
これに取り組む過程でデザインレシピ(よりよいプログラムを書くための考え方や方法論)と、コンピュータサイエンスの基礎であるデータ構造とアルゴリズムを学習するのが、本書の目的。

目次

第1章と第6章は省略。

第3章 変数の定義

第4章 関数の定義

第5章 条件分岐

第8章 レコード

第9章 リスト

第16章 情報の蓄積

第19章 モジュール

第21章 逐次実行

About

浅井健一『プログラミングの基礎』でプログラミングやOCamlを学ぶ。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published