Ubuntuの端末上で動作するアプリケーションを作ったのだが、データを画面に出力するさいに、 を使うとすると、うまくいかない。 たとえば、「大阪市立図書館」の「大阪市立」だけを画面に出力しようと、 とすると、 となる。 […]
OCaml
年号変換プログラム guiバージョン
年号変換プログラムをGUIバージョンにした。Tcl/Tkを使用。 OCamlでは、labltkライブラリを使うことで、Tcl/Tkキットを使える。 ただ、Windows環境つまり Cygwin環境ではうまくいかなかった。 […]
練習問題 15.2 labltkライブラリのリストボックス
練習問題 15.2 銀行プログラムの改造(2) リストボックス 解答 バッチコンパイラ用ファイル 練習問題5.1 と 5.2 でできたプログラムをバッチコンパイラ用にまとめたものを以下に残しておく。コンパイルでは、lab […]
練習問題 15.1 labltkライブラリでGUI
練習問題 15.1 銀行口座プログラムの改造(1) 銀行口座プログラムを改造して、残高がマイナスになった時に、(終了するのではなくて)残高表示の文字が赤になるようにしなさい。 ポイント 改造した点 残高がマイナスになると […]
練習問題 14.3 (2) 拡張リストを扱うmap関数
練習問題 14.3 (2) 拡張リストの map関数 max や map関数の拡張リストに対しての定義を、上の length、alength と同じように、差分(`App の場合のみ)を記述するように定義しなさい。 解答
練習問題 14.3 (1) 拡張リストを扱うmax関数
練習問題 14.3 (1) 拡張リストのための max_list関数 max や map関数の拡張リストに対しての定義を、上の length、alength と同じように、差分(`App の場合のみ)を記述するように定義 […]
練習問題 14.2 拡張リストを使う
練習問題 14.2 拡張リスト 拡張リストを単なるリストに変換する関数 list_of_alist を定義しなさい。 解答
練習問題 14.1 多相ヴァリアントのリストを使う
練習問題 14.1 `Nil、`Cons を使ったリスト `Nil、`Cons を使って表現されるリストに対して、append、map、downto1関数を定義しなさい。(第5章参照) 解答
年号変換プログラム(OCaml)
OCamlの勉強にと、プログラムをつくってみた。 年号も令和となったことだし、年号変換プログラムをつくることにした。 で、せっかくだし、江戸時代の年号も西暦と変換可能にしてみた。 これで、赤穂浪士の吉良邸討ち入りの元禄1 […]
練習問題 12.2 クラスとメソッドの修正
練習問題 12.2 電卓プログラムcalc この章でみた電卓の定義では、1+2+3 のような連続した演算をおこなうことができません。 のような呼び出しで計算ができるように改造しなさい。 解答
練習問題 12.1 クラスとメソッドの修正
練習問題 12.1 calcの定義 以下の calc の定義のおかしな点を指摘せよ。 解答 num を x に入れておかないと、次の input メソッドで新しい値が num にセットされてしまう。
電卓プログラム
プログラミング in OCaml メモ 12.2 自分自身のメソッドを呼び出す 12.2.1 補助的メソッドと private メソッド ここで、電卓プログラムを例にして説明がされてあるけど、電卓プログラムの仕組みについ […]
練習問題 11.4 組を引数にとるファンクター
練習問題 11.4 (NaiveSig が与えられていない生の)BadPair が、ファンクター MakeTest に渡せないことを確かめなさい。 問題文の環境を以下のように想定する BadPair を以下のように定義す […]
練習問題 11.2 ファンクターの各関数を作る
練習問題 11.2 ファンクターをつくる MakeAbstractSet の機能を拡張して、下に示すシグネチャ SET の各関数をコメントに従って定義しなさい。また、整数の集合モジュールをファンクター適用によって生成して […]
練習問題 11.1 ファンクターに与える引数のシグネチャを指定する
練習問題 11.1 ファンクタの引数にシグネチャを与える 下の のように、MakeSet に与える引数のシグネチャを OrderedType として明示的に指定した場合、このモジュール IntSet’ は、I […]