Version française
Home     About     Download     Resources     Contact us    
Browse thread
unused variable error with objects
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Ralph Douglass <ralph@g...>
Subject: Re: [Caml-list] unused variable error with objects
Great, that does indeed give me exactly what I want.  I guess I just got
confused by the type annotation syntax, and for some reason I had the order
wrong.

Thanks again!

On 3/20/08, Jeremy Yallop <jeremy.yallop@ed.ac.uk> wrote:
>
> Ralph Douglass wrote:
> > With labeled functions, I usually do something like ~snoo:_, but it does
> > not work in this exampled with methods:
> > ---
> > class foo = object
> >   method bar ~(snoo : string):_ = ()
> > end;;
>
>
> In this case the ':_' denotes a type annotation, using the "any-type"
> expression '_'.  You're declaring the return type of the method, as
> you'll see if you change the annotation to something incompatible with
> unit, such as
>
>     class foo = object
>       method bar ~(snoo : string):int = ()
>     end
>
>
> > On a whim, I did the following, which surprisingly worked:
> >
> > class foo = object
> >   method bar ~(_snoo : string) = ()
> > end;;
>
>
> This works because the "unused variables" warning is disabled for
> variables which start with an underscore.  It's a useful feature for
> normal bindings but I don't think you should use it for labels, since it
> changes the interface.
>
>
> > Is there a solution to this?
>
>
> I think the following is what you want:
>
>
>     class foo = object
>       method bar ~snoo:(_:string) = ()
>     end
>
>
> Jeremy.
>



-- 
Ralph