Yes, the problem is the operator precedence.
If the function consists of one expression you can use parenthesis instead of 
curly braces.
If you're using curly braces, you don't need the parenthesis around the 
argument: { ns: NodeSeq => ...


-------------------------------------
Ross Mellgren<[email protected]> wrote:

Well, it would help to have the compiler error, but I may have gotten 
precedence wrong. Try:

"expand" -> { (fooXhtml: NodeSeq) => ... }

instead

-Ross

On Jan 20, 2010, at 3:51 PM, Franz Bettag wrote:

> That doesn't seem to fix the compiler error. :)
> 
> On 20 Jan., 21:44, Ross Mellgren <[email protected]> wrote:
>> Scala can't figure out what type of parameter you mean, so you need to 
>> annotate it  -- "expand" -> (fooXhtml: NodeSeq) => {... }
>> 
>> Or use a separately named function with a type signature, e.g.
>> 
>> def doTheStuff(ns: NodeSeq): NodeSeq) = { Log.error(ns.toStrnig); <span /> }
>> 
>> bind(..., "expand" -> doTheStuff _)
>> 
>> -Ross
>> 
>> On Jan 20, 2010, at 3:41 PM, Franz Bettag wrote:
>> 
>>> "expand" -> (fooXhtml) => { Log.error(fooXhtml.toString); <span/> },
>> 
>>> error: not a legal formal parameter (pointing at the => )
>> 
>>> On 20 Jan., 21:32, greekscala <[email protected]> wrote:
>>>> Hello,
>> 
>>>> yes a function that takes NodeSeq parameter and returns
>>>> a NodeSeq :)
>> 
>>>> "foo" -> (ns) => {function body} or
>>>> "foo" -> theCalledFunction
>> 
>>>> best regards
>> 
>>>> On 20 Jan., 21:26, Franz Bettag <[email protected]> wrote:
>> 
>>>>> How would that look like?
>>>>> "foo" => nodeSeqMethod _ ?
>> 
>>>>> On 20 Jan., 21:21, Naftoli Gugenheim <[email protected]> wrote:
>> 
>>>>>> Meaning to the right of the -> arrow.
>> 
>>>>>> -------------------------------------
>> 
>>>>>> Franz Bettag<[email protected]> wrote:
>> 
>>>>>> Ah figured it out. Played long enough around to get the right way:
>> 
>>>>>> () => {expand(trafficReply.subnet)}
>> 
>>>>>> Another question though, would it be possible to use
>>>>>> <IPs:expand><span><traffic:sometag/></span></IPs:expand> and pass the
>>>>>> given NodeSeq over the bind into a function?
>> 
>>>>>> On 20 Jan., 19:08, Franz Bettag <[email protected]> wrote:
>> 
>>>>>>> Sorry if i am asking a lot of questions lately, but i am trying to get
>>>>>>> this project of mine working so i can write about the specific
>>>>>>> problems i ran into and how they got done.
>> 
>>>>>>>         def subnets(xhtml: NodeSeq): NodeSeq = {
>>>>>>>                 val content = IPnet.findAll(OrderBy(IPnet.name, 
>>>>>>> Ascending)).map(ip
>>>>>>> => {
>> 
>>>>>>>                         /* Bind the xml */
>>>>>>>                         bind("ip", xhtml,
>>>>>>>                                 "subnet" -> Text(ip.name.toString),
>>>>>>>                                 "action" -> SHtml.a(expand(ip.subnet) 
>>>>>>> _, "See all IPs")
>>>>>>>                                 )
>>>>>>>                 }).mkString
>> 
>>>>>>>                 XML.loadString("<span>%s</span>".format(content))
>>>>>>>         }
>> 
>>>>>>>         def expand(subnet: String): JsCmd = {
>>>>>>>                 Log.info("Requested subnet %s".format(subnet))
>>>>>>>                 Alert("subnet %s was requested".format(subnet))
>>>>>>>         }
>> 
>>>>>>> The Problem is the "action" that gets binded. I don't get how i have
>>>>>>> to use SHtml.a to pass a value to the called function. Any hints?
>> 
>>>>>>> Thank you very much in advance
>> 
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "Lift" group.
>>>>>> To post to this group, send email to [email protected].
>>>>>> To unsubscribe from this group, send email to 
>>>>>> [email protected].
>>>>>> For more options, visit this group 
>>>>>> athttp://groups.google.com/group/liftweb?hl=en.
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "Lift" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to 
>>> [email protected].
>>> For more options, visit this group 
>>> athttp://groups.google.com/group/liftweb?hl=en.
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Lift" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/liftweb?hl=en.
> 
> 

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


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


Reply via email to