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