#>是什么运算符在Scala Lift中意味着什么?

时间:2011-10-08 14:33:30

标签: scala operators lift

学习电梯我立刻发现了一个不熟悉的#>运营商。究竟是什么意思? 例如:

/**
* Put the messages in the li elements and clear
* any elements that have the clearable class.
*/
def render = "li *" #> msgs & ClearClearable

我可以阅读评论以了解该行是什么,但我不确定这里的代码机制。

2 个答案:

答案 0 :(得分:9)

运营商#>用于创建CSS Selector Transformers

您将CSS选择器作为字符串提供,然后将其应用于给定的参数,该参数可以是序列,字符串或NodeSeq,并获取应用转换的NodeSeq => NodeSeq类型的函数。 &用于链接这些转换。

答案 1 :(得分:2)

Scala中没有运算符,因此没有#>操作

看起来像运算符的方法是一种方法,如果它是一种方法,它不是in Scala而是a class。在Smalltalk上,你会说,你可以发送一个对象#> - 信息。

由于右边的对象是一个String,并且String没有#> - 消息,因此必须有一个隐含的范围,它接受一个String,并将其转换为一个对象,一个方法。

仅在代码本身或直接导入的代码中搜索Implicits,而不是在从导入的代码导入的代码中搜索,因此搜索#>不应该太多工作​​。也许您的IDE可以告诉您,它的定义位置。