什么是#>;操作员的意思是在Scala电梯中?

什么是#>;操作员的意思是在Scala电梯中?,scala,operators,lift,Scala,Operators,Lift,在研究电梯时,我立即找到了一位不熟悉的操作员。这到底是什么意思? 例如: 我可以阅读注释以了解行的用途,但不确定此处的代码机制。运算符用于创建 您提供了一个CSS选择器作为字符串,然后将其应用于给定的参数,该参数可以是序列、字符串或NodeSeq,并获得一个应用转换的NodeSeq=>NodeSeq类型的函数。&用于链接这些转换。Scala中没有运算符,因此没有#>运算符 看起来像操作符的是一个方法,如果它是一个方法,它在Scala中不是,而是在类中。在Smalltalk上,您会说,您可以向对象

在研究电梯时,我立即找到了一位不熟悉的操作员。这到底是什么意思? 例如:

我可以阅读注释以了解行的用途,但不确定此处的代码机制。

运算符
用于创建


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

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

看起来像操作符的是一个方法,如果它是一个方法,它在Scala中不是
,而是在
类中。在Smalltalk上,您会说,您可以向对象发送一条#>-消息

因为右边的对象是一个字符串,并且字符串没有
#>
-消息,所以必须有一个隐式的作用域,它接受一个字符串,并将其转换为一个对象,该对象具有这样的方法


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

我以为“是评论用的?”@Ivan注意,Scala中的大多数“运算符”都是在库中定义的,不是语言itsefl的一部分。@paradigmatic我理解,但假设运算符(通常)有一个共同的逻辑含义。除了Scala collection中使用的那些(如
++
+:
)之外,没有那么多或者使用
以发送消息。
/**
* Put the messages in the li elements and clear
* any elements that have the clearable class.
*/
def render = "li *" #> msgs & ClearClearable