caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] object single linked list - newbie
@ 2003-02-23 21:54 Ford Lissett
  2003-02-23 22:12 ` Alessandro Baretta
  0 siblings, 1 reply; 2+ messages in thread
From: Ford Lissett @ 2003-02-23 21:54 UTC (permalink / raw)
  To: caml-list

I'm missing something really obvious here, please
explain -
 
line 13, characters 17-22:
This expression has type node node_type
It has no method get_link


type 't node_type = Class of 't | Nil;;

class node link_ =
object (self)
   val mutable link: node node_type = link_     
   
   method add node_ =
      let next = ref link in
      let peek = ref link in
      while (!peek != Nil) do
         next := !peek;
         peek := !next#get_link; (* line 13 *)
         done;
      link <- node_                       
                        
   method get_link = link
end;;

__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/
-------------------
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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Caml-list] object single linked list - newbie
  2003-02-23 21:54 [Caml-list] object single linked list - newbie Ford Lissett
@ 2003-02-23 22:12 ` Alessandro Baretta
  0 siblings, 0 replies; 2+ messages in thread
From: Alessandro Baretta @ 2003-02-23 22:12 UTC (permalink / raw)
  To: Ford Lissett; +Cc: caml-list



Ford Lissett wrote:
> I'm missing something really obvious here, please
> explain -
>  
> line 13, characters 17-22:
> This expression has type node node_type
> It has no method get_link
> 
> 
> type 't node_type = Class of 't | Nil;;
> 

Type node node_type is not an object type, hence it cannot 
have methods. Type node is an object type and has method 
get_link. You must match against the Class constructor to 
get the object on which you want to invoke get_link.

>          peek := !next#get_link; (* line 13 *)

class node link_ =
object (self)
    val mutable link: node node_type = link_

    method add node_ =
       let next = ref link in
       let peek = ref link in
       while (!peek != Nil) do
          next := !peek;
          peek := match !next with
	   | Class(obj) -> obj#get_link
	   | Nil -> raise Not_found; (* line 13 *)
          done;
       link <- node_

    method get_link = link
end;;

Alex

-------------------
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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-02-23 22:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-23 21:54 [Caml-list] object single linked list - newbie Ford Lissett
2003-02-23 22:12 ` Alessandro Baretta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).