Size: a a a

Scala User Group

2020 April 23

PM

Paveλ M in Scala User Group
Denis G
я думал он только в Яве, а в скале такого нету
или я что-то путаю
компилятся они все в одно и то же
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Denis G
я думал он только в Яве, а в скале такого нету
или я что-то путаю
скала на том же рантайме запускается
источник

DG

Denis G in Scala User Group
спасибо большое!
я скорее всего ожидал, что он сделает какие-то чеки, хоть в рантайме, аля инстансОфы
благодарю
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Denis G
спасибо большое!
я скорее всего ожидал, что он сделает какие-то чеки, хоть в рантайме, аля инстансОфы
благодарю
можно сделать так
case Success(x: PersistedDataStoreValue) => x
источник

Oℕ

Oleg ℕizhnik in Scala User Group
тогда будет проверка
источник

DG

Denis G in Scala User Group
то, что нужно)
спасибо
источник

PM

Paveλ M in Scala User Group
Denis G
то, что нужно)
спасибо
вопрос только зачем она
источник

PM

Paveλ M in Scala User Group
есть у вас Try[T], то в Success всегда будет Т
источник

Oℕ

Oleg ℕizhnik in Scala User Group
В нетипизированных акторах всякое бывает
источник

PM

Paveλ M in Scala User Group
насколько я помню, Т инвариантен
источник

DG

Denis G in Scala User Group
зачем, что?

в двух словах у меня старый проект на нетипизированных акка-акторах и мне нужно его допилить

код такой
Future
   .sequence(peers
               .map(peer => (peer ? _ValueForKey(key))(peerConnectionTimeout))
               .map(_.transform(Success(_))))
   .map { responses =>
     responses
       .collect { case Success(x: PersistedDataStoreValue) => x }
       .groupBy(_.creationTimestamp)
       .maxBy(_._1)
       ._2
   }
   .flatMap { latestKeyValueOccurences =>
     val occurences = latestKeyValueOccurences.length
     val responseVal = latestKeyValueOccurences.head.value

     val x = if (occurences < r) None else Some(responseVal)
     Future(GetResponse(key, x))
   }
}
.pipeTo(sender)
суть в том, что я отправляют пирам запрос. могу получить либо Success со своим респонсом (но так как я использую старые акторы, респонс не типизирован) поэтому Try[Any]
источник

PM

Paveλ M in Scala User Group
хотя если там List[Try[Any]]...
источник

PM

Paveλ M in Scala User Group
Denis G
зачем, что?

в двух словах у меня старый проект на нетипизированных акка-акторах и мне нужно его допилить

код такой
Future
   .sequence(peers
               .map(peer => (peer ? _ValueForKey(key))(peerConnectionTimeout))
               .map(_.transform(Success(_))))
   .map { responses =>
     responses
       .collect { case Success(x: PersistedDataStoreValue) => x }
       .groupBy(_.creationTimestamp)
       .maxBy(_._1)
       ._2
   }
   .flatMap { latestKeyValueOccurences =>
     val occurences = latestKeyValueOccurences.length
     val responseVal = latestKeyValueOccurences.head.value

     val x = if (occurences < r) None else Some(responseVal)
     Future(GetResponse(key, x))
   }
}
.pipeTo(sender)
суть в том, что я отправляют пирам запрос. могу получить либо Success со своим респонсом (но так как я использую старые акторы, респонс не типизирован) поэтому Try[Any]
аа, ясно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Denis G
зачем, что?

в двух словах у меня старый проект на нетипизированных акка-акторах и мне нужно его допилить

код такой
Future
   .sequence(peers
               .map(peer => (peer ? _ValueForKey(key))(peerConnectionTimeout))
               .map(_.transform(Success(_))))
   .map { responses =>
     responses
       .collect { case Success(x: PersistedDataStoreValue) => x }
       .groupBy(_.creationTimestamp)
       .maxBy(_._1)
       ._2
   }
   .flatMap { latestKeyValueOccurences =>
     val occurences = latestKeyValueOccurences.length
     val responseVal = latestKeyValueOccurences.head.value

     val x = if (occurences < r) None else Some(responseVal)
     Future(GetResponse(key, x))
   }
}
.pipeTo(sender)
суть в том, что я отправляют пирам запрос. могу получить либо Success со своим респонсом (но так как я использую старые акторы, респонс не типизирован) поэтому Try[Any]
какая скала
источник

DG

Denis G in Scala User Group
не дотти ((
источник

DG

Denis G in Scala User Group
2.12.11 вроде
источник

Oℕ

Oleg ℕizhnik in Scala User Group
2.13 ?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ладно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
в map лучше не делать сайд эффектов
источник

Oℕ

Oleg ℕizhnik in Scala User Group
последний flatMap упрощается до map
источник