이우석
가입: 2007년 9월 26일 올린 글: 72
|
올려짐: 2009년11월2일 15:59 주제: 11월 2일 실습 3번문제 뼈대코드입니다. |
|
|
주석처리 된 곳을 구현하세요.
==========================================
module type PHONEBOOK =
sig
type t
type name = string
type number = string
exception Empty
val empty : t
val add : name * number -> t -> t
val del : name * number -> t -> t
val lookup : name -> t -> number list
val pprint : t -> unit
end
module PhoneBook : PHONEBOOK =
struct
type name = string
type number = string
module NumSet = Set.Make(struct type t = number let compare = compare end)
module Pb = Map.Make(struct type t = name let compare = compare end)
type t = NumSet.t Pb.t
exception Empty
let empty = Pb.empty
let add (name, num) t = (* Not Implemented *)
let del (name, num) t = (* Not Implemented *)
let lookup name t = (* Not Implemented *)
let pprint t =
let list_print lst = List.iter (fun x -> print_endline ("\t"^x)) lst in
Pb.iter (fun x y -> print_endline (x^" :: "); list_print (NumSet.elements (Pb.find x t))) t
end |
|