Yes Ross, I did mean () => processForm. Thanks for the clarification.
The one thing in moving from Java to Scala is that there are a lot of
things that look similar that aren't, as you've pointed out. Newbie
error caught ;)

Thanks Marius, I made that assumption, but it still bugs me that the
scala interpreter evaluates both the "value" and the "function" when I
use:

scala> def testFunc() : Int = 3

scala> testFunc
Int = 3

scala>testFunc()
Int = 3


Strom

On Oct 27, 7:19 am, Ross Mellgren <dri...@gmail.com> wrote:
> Did you mean () => processForm by chance? () -> processForm is a pair  
> of () and processForm's result.
>
> -Ross
>
> On Oct 27, 2009, at 2:52 AM, Strom wrote:
>
>
>
> > I'm not sure if this is a scala or a lift related question, but when I
> > try to bind a submit button, I'm having some confusion on using zero
> > parameter functions as the "() -> Any" parameter in the submit
> > signature.
>
> > The signature for the method in question is
> > SHtml.submit(value : String, func : () => Any, attrs : (String,  
> > String)
> > *)
>
> > 1. My first question is about the following method definitions
> > def processForm () : Unit = {...}
> > vs
> > def processForm = {...}  //no parentheses after method declaration
>
> > Why can I call "processForm" as well as "processForm()" for the first
> > example, but only "processForm" for the second example. If there is
> > scala/lift documentation on this simple question?
>
> > 2. Why do I get a compiler error when I use the following code:
> > bind( ...
> >  "submit" -> SHtml.submit( "Process Form", processForm() )  /*type
> > mismatch error*/
> > )
> > vs
> > bind( ...
> >  "submit" -> SHtml.submit( "Process Form", processForm ) /*compiles
> > successfully*/
> > )
>
> > It's my impression that the above bind calls are equivalent given the
> > way the scala compiler behaves when I call "processForm" or
> > "processForm()".
>
> > Also, I wasn't even sure the method itself would allow the code to
> > compile.  I thought I'd have to do "() -> processForm" or "() ->
> > processForm()".
>
> > The error I was getting was this:
> > error type mismatch
> >  found : Unit
> >  required : () -> Any
>
> > Can someone please clarify? Thanks so much.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to