学习电梯我立刻发现了一个不熟悉的#>运营商。究竟是什么意思? 例如:
/**
* Put the messages in the li elements and clear
* any elements that have the clearable class.
*/
def render = "li *" #> msgs & ClearClearable
我可以阅读评论以了解该行是什么,但我不确定这里的代码机制。
答案 0 :(得分:9)
运营商#>
用于创建CSS Selector Transformers。
您将CSS选择器作为字符串提供,然后将其应用于给定的参数,该参数可以是序列,字符串或NodeSeq
,并获取应用转换的NodeSeq => NodeSeq
类型的函数。 &
用于链接这些转换。
答案 1 :(得分:2)
Scala中没有运算符,因此没有#>操作
看起来像运算符的方法是一种方法,如果它是一种方法,它不是in Scala
而是a class
。在Smalltalk上,你会说,你可以发送一个对象#> - 信息。
由于右边的对象是一个String,并且String没有#>
- 消息,因此必须有一个隐含的范围,它接受一个String,并将其转换为一个对象,一个方法。
仅在代码本身或直接导入的代码中搜索Implicits,而不是在从导入的代码导入的代码中搜索,因此搜索#>
不应该太多工作。也许您的IDE可以告诉您,它的定义位置。