Является ли эта "инъекционная функция (парсер) анонимной реализации характеристики действия"?

Я не совсем понимаю этот синтаксис (тот с красным квадратом). Это случай "инъекционной функции (парсер) для анонимной реализации характеристики действия".

Я пробовал поиск в Google, чтобы подтвердить/отбросить это, но не нашел статьи с ответом.

Или... есть ли сопутствующий объект (в Play 2), чье имя является "Action", чей метод применения принимает (необязательный) параметр BodyParser?

Заранее благодарим за это!

С наилучшими пожеланиями, Рака

2 ответа

Или... есть ли сопутствующий объект (в Play 2), чье имя является "Action", чей метод применения принимает (необязательный) параметр BodyParser?

Да (кроме "необязательной" части, есть также перегрузки, которые не принимают BodyParser но их типы аргументов block также различаются).


Что касается стандартов, "действие" с капиталом А может быть только сопутствующим объектом.

Из https://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/play/api/mvc/Action.scala

object Action extends ActionBuilder[Request] {...}

trait ActionBuilder[+R[_]] extends ActionFunction[Request, R] {
final def apply[A](bodyParser: BodyParser[A])(block: R[A] => Result): Action[A] = async(bodyParser) { req: R[A] =>
Future.successful(block(req))

В методе ActionBuilder применяется параметр bodyParser как параметр.

licensed under cc by-sa 3.0 with attribution.