Scala вложенные параметры неявного типа
Можете ли вы объяснить тип T
в этом определении метода? Это от Гатлинга. Я знаю, что двоеточие для значений, связанных с контекстом. здесь я вижу их вложенными. Что такое #
за?
implicit def stringToExpression[T: TypeCaster: Types[NonValidable]#DoesNotContain: ClassTag](string: String): Expression[T] = string.el
1 ответ
Решение
Следующая сигнатура метода переводится в:
implicit def stringToExpression(string: String)(implicit t: TyperCaster[T], nv: Types[NonValidable]#DoesNotContain[T], ct: ClassTag[T]) = string.el
#
в этом контексте - проекция типа, используемая для обозначения внутреннего DoesNotContain[T]
учебный класс.