Неизвестный синтаксис, используемый для описания Source для Akka-stream: "#Repr" - PullRequest
1 голос
/ 20 мая 2019

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

Может кто-нибудь здесь, пожалуйста, пролить свет на то, что на самом деле является фрагментом кода "#Repr [A]"делать.

Пытался поискать это онлайн, но ничего не нашел.

package models

import akka.stream.scaladsl.Source
import akka.util.ByteString
import models.CsvModels._

object CsvFileModels {
  type CsvSource = Source[ByteString,Any]#Repr[ByteString]#Repr[List[ByteString]]#Repr[Map[String, String]]
}

Компилируется нормально, просто пытаясь точно выяснить, что здесь происходит.

1 Ответ

2 голосов
/ 21 мая 2019

Это называется тип проекции .Это несколько эквивалентно . в Java.

Т.е.

Foo#Bar

в Scala, несколько эквивалентно

Foo.Bar

в Java.

...