(************************************************************ isinstance.ml Created : Thu Dec 26 20:42:16 2002 Last modified: Thu Dec 26 20:55:41 2002 Compile: ocamlopt.opt isinstance.ml -o isinstance # FTP Directory: sources/ocaml # ************************************************************) (** @author Takashi Masuyama *) (* 引数の String はただキーの型を与えるのみ *) module M = Map.Make(String) (*型エラー そりゃそう。入れた値の型が違う。取り出すときに困る*) (*File "isinstance.ml", line 18, characters 32-33:*) (*This expression has type int M.t = int Map.Make(String).t*) (*but is here used with type string M.t = string Map.Make(String).t*) (*let case1 () =*) (* let m = M.add "hoge" 1 M.empty in*) (* let m' = M.add "mamewo" "tak" m in*) (* M.iter (fun k v -> print_endline v) m'*) let case2 () = let m = M.add "hoge" 1 M.empty in let m' = M.add "mamewo" "tak" M.empty in M.iter (fun k v -> print_int v; print_newline ()) m; M.iter (fun k v -> print_endline v) m' let _ = (* case1 ()*) case2 ()