Su Zhang a écrit : > I encountered a new problem which is I want to get " 1 " from a triple > "(0,2,[1,2,3])", which means I want to get the first value of the > third item in one triple and itself is a list, but when I use the > List.hd (third(0,2,[1,2,3])), it will give me the entire list which is > [1,2,3] > the definition of the third is "let third(x,y,z)=z", so is there a way > I can get out "1" from "(0,2,[1,2,3])"? if possible, would you please > give me some advices? Hi, [1,2,3] is equivalent to [(1,2,3)], which means "a list containing one element whose type is (int*int*int)". first (List.hd (third(0,2,[1,2,3]))) = 1 [1;2;3] denotes a list of three integer elements. List.hd (third(0,2,[1;2;3])) = 1 As said in a reply to your previous message, you'll get more complete answers by posting to this more suited group: http://groups.yahoo.com/group/ocaml_beginners Cheers, Florent