[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Samuel Mimram <Samuel.Mimram@e...> |
| Subject: | Re: [Caml-list] One question |
Hello. I think you are confusing the operators = and ==. = is used to check if two objects have the same "logical" contents whether == checks if two objects are exactly the same in memory. When you type a = insert a "word", the function insert returns a new lex_tree which has the same contents as the variable a but is another object in memory. That is why I think you wanted to write : let a = insert [] "word" in a = insert a "word" ;; which effectively returns true. It is important to understand that the variable a and the result returned by the function insert are logically the same but not physically. Samuel. On Sun, 23 Feb 2003 17:29:14 +0100 "Alexander S. Usov" <A.S.Usov@KVI.nl> wrote: > Hi! > > Can anybody expalin me why in such code > > ------ > type lex_node = Letter of char * bool * lex_tree > and lex_tree = lex_node list ;; > > exceprion Already ;; > > let rec insert lex word = > let whd = word.[0] > and wtl = String.sub word 1 (String.length word - 1) > in > try > match lex with > | (Letter(c,b,t) as letter)::tail when (c <> whd) -> > letter :: (insert tail word) > | Letter(c,b,t) :: tail when (wtl = "") -> > if b = true then > raise Already > else > Letter(c,true,t) :: tail > | Letter(c,b,t) :: tail -> > Letter(c,b,(insert t wtl)) :: tail > | [] -> > if wtl = "" then > [ Letter (whd, true, []) ] > else > [ Letter (whd, false, insert [] wtl) ] > with > | Already -> lex ;; > > let a = insert [] "word" > in > a == insert a "word" ;; > ----- > > returns false? > > -- > Best regards, > Alexander. > > > ------------------- > To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr > Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners -- Samuel Mimram Samuel.Mimram@ens-lyon.fr ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners