モジュールで作ってみる
クラスを使ってみる - A More Beautiful day
前にクラスで作ったものを、モジュールを使って、書き直してみた。
クラスとモジュールのどちらが良いというわけではないけれど、クラスの方が好きかも。
module Counter = struct type t = { mutable value : int } let create () = let cnt = { value = 0 } in cnt let increment self = self.value <- (self.value + 1); Printf.printf "#increment >> value: %d\n" self.value; () let get self = Printf.printf "#get >> value: %d\n" self.value; self.value end;; let f = Counter.create ();; Counter.increment f;; Counter.increment f;; Printf.printf "value: %d\n" (Counter.get f);;