Что означает оператор #> в Scala Lift? - PullRequest
3 голосов
/ 08 октября 2011

Изучая лифт Я сразу нашел незнакомого оператора #>. Что именно это значит? Пример:

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

Я могу прочитать комментарий, чтобы узнать, для чего он предназначен, но я не уверен в механике кода здесь.

Ответы [ 2 ]

9 голосов
/ 08 октября 2011

Оператор #> используется для создания CSS Selector Transformers .

Вы предоставляете селектор CSS в виде строки, а затем применяете его к заданному аргументу, который может быть последовательностью, строкой или NodeSeq, и получаете функцию типа NodeSeq => NodeSeq, которая применяет преобразования. & используется для цепочки этих преобразований.

2 голосов
/ 08 октября 2011

В Scala нет оператора и, следовательно, нет оператора #>.

То, что выглядит как оператор, это метод, и если это метод, то это не in Scala, нов a class.На Smalltalk вы сказали бы, что можете отправить объекту сообщение #> -.

Так как объект справа является String, а String не имеет #> -метра, должно быть неявное в области видимости, которое принимает String и преобразует его в объект, который имееттакой метод.

Результаты поиска ищутся только в самом коде или непосредственно импортированном коде, а не в коде, импортированном из импортированного кода, поэтому поиск #> не должен быть слишком трудоемким.Может быть, ваша IDE может сказать вам, где это определено.

...