クラスを使ってみる
OCaml でクラスを作ってみた。Ruby の attr_accessor のようなものはないのかな。
class counter = object val mutable value = 0 method get = value method set v = value <- v method increment = value <- (value + 1) method decrement = value <- (value - 1) end;; let cnt = new counter;; Printf.printf "val: %d\n" cnt#get;; (* val: 0 *) cnt#set 10;; Printf.printf "val: %d\n" cnt#get;; (* val: 10 *) cnt#increment;; cnt#increment;; cnt#increment;; Printf.printf "val: %d\n" cnt#get;; (* val: 13 *) cnt#decrement;; cnt#decrement;; cnt#decrement;; cnt#decrement;; cnt#decrement;; Printf.printf "val: %d\n" cnt#get;; (* val: 8 *)