Size: a a a

Scala User Group

2020 March 18

ὦan in Scala User Group
Abyr Valg
В русских университетах должны сказать "жэйва"
лисп
источник

NV

Nikita Vilunov in Scala User Group
Abyr Valg
В русских университетах должны сказать "жэйва"
ява
источник

D

Denis in Scala User Group
Abyr Valg
В русских университетах должны сказать "жэйва"
Это же мой любимый Жэй Ви Эм язык
источник

AH

Ayrat Hudaygulov in Scala User Group
Denis
Это же мой любимый Жэй Ви Эм язык
Где Жэй это "правильное" произношение слова Gay
источник

λ

λoλegΥch in Scala User Group
а ли?
источник

λ

λλ in Scala User Group
λoλegΥch
а ли?
А ли фамилия любого корейца
источник

A

Andrey in Scala User Group
Ребята, приветствую, кто-то знает, есть ли книга Scala with Cats на русском языке? Или какие то ее аналоги? Просто с английским пока не очень дружу, сложно читать длинную литературу
источник

DZ

Dmitry Zuev in Scala User Group
жаль
источник
2020 March 19

VG

Vladislav Golub in Scala User Group
Andrey
Ребята, приветствую, кто-то знает, есть ли книга Scala with Cats на русском языке? Или какие то ее аналоги? Просто с английским пока не очень дружу, сложно читать длинную литературу
Очень нужный навык. Учитесь
источник

SS

Salem Saberhagen in Scala User Group
Vladislav Golub
Очень нужный навык. Учитесь
Читать ? )
источник

IS

Ivan 🦄 Sinelnikov in Scala User Group
Привет.

Есть класс со следующей сигнатурой
case class TestClass[T <: Type](..., type: T, ...)

Для Type есть Enum
sealed trait Type extends EnumEntry
object Type extends Enum[Type] {
...
}

Есть функция
private def transfer(from: TestClass[_], to: TestClass[_], value: BigDecimal): (TestClass[_], TestClass[_]) = {
 ...
 val newFrom = from.copy(...)
 val newTo = to.copy(...)
 (newFrom, newTo)
}

При попытке компиляции возникает ошибка:


Error:(76, 24) inferred type arguments [_$8] do not conform to method copy's type parameter bounds [T <: ...Type]
Error occurred in an application involving default arguments.
   val newFrom = from.copy(...)

Если я правильно понимаю связано это с тем что в сигнатуре функции я не знаю чем именно параметризован TestClass

Можно ли это как-нибудь обойти без явного указания типа в сигнатуре? так как код общий, а Enum достаточно большой чтобы перечислять все варианты?
источник

λ

λoλegΥch in Scala User Group
убери T
источник

IS

Ivan 🦄 Sinelnikov in Scala User Group
λoλegΥch
убери T
Он мне нужен при создании
case class TestClass[T <: Type] (type: T)
источник

λ

λoλegΥch in Scala User Group
сомневаюсь что он нужен TestClass
источник

λ

λoλegΥch in Scala User Group
но можно в принципе добавить параметр к transfer
источник

λ

λoλegΥch in Scala User Group
transfer[T<:Bla](from: Test[T], etc)
источник

AV

Abyr Valg in Scala User Group
Ivan 🦄 Sinelnikov
Привет.

Есть класс со следующей сигнатурой
case class TestClass[T <: Type](..., type: T, ...)

Для Type есть Enum
sealed trait Type extends EnumEntry
object Type extends Enum[Type] {
...
}

Есть функция
private def transfer(from: TestClass[_], to: TestClass[_], value: BigDecimal): (TestClass[_], TestClass[_]) = {
 ...
 val newFrom = from.copy(...)
 val newTo = to.copy(...)
 (newFrom, newTo)
}

При попытке компиляции возникает ошибка:


Error:(76, 24) inferred type arguments [_$8] do not conform to method copy's type parameter bounds [T <: ...Type]
Error occurred in an application involving default arguments.
   val newFrom = from.copy(...)

Если я правильно понимаю связано это с тем что в сигнатуре функции я не знаю чем именно параметризован TestClass

Можно ли это как-нибудь обойти без явного указания типа в сигнатуре? так как код общий, а Enum достаточно большой чтобы перечислять все варианты?
sealed trait Type
object Type  {
 case object A extends Type
}
case class TestClass[T <: Type](t: T)




private def transfer[T <: Type](from: TestClass[T], to: TestClass[T], value: BigDecimal): (TestClass[T], TestClass[T]) = {
 val newFrom = from.copy[T]()
 val newTo = to.copy[T]()
 (newFrom, newTo)
}
источник

IS

Ivan 🦄 Sinelnikov in Scala User Group
Abyr Valg
sealed trait Type
object Type  {
 case object A extends Type
}
case class TestClass[T <: Type](t: T)




private def transfer[T <: Type](from: TestClass[T], to: TestClass[T], value: BigDecimal): (TestClass[T], TestClass[T]) = {
 val newFrom = from.copy[T]()
 val newTo = to.copy[T]()
 (newFrom, newTo)
}
спасибо!
источник

λ

λoλi in Scala User Group
‼️Самое важное в Scala User Group‼️

🔹 Первая онлайн конференция от  Scala Love! CFP is open!  Регистрация откроется скоро (бесплатно, без смс)  

🔹Новый эпизод Scala Love про архитектурные каты

🔹Scalalaz #78 - о тофу с @odomontois и @kshelopugin

🔹 Конференция ScalaUA - 3-4 Апреля, Киев. Спикеры (п.с. Бартош и Оли будут), расписание; Early Bird билеты доступны до 15 Февраля

🔹 Опрос о месте\времени проведения Scala Russia 2020 и ещё один опрос о том же
источник

λ

λoλi in Scala User Group
Ребята, я организую онлайн конфу, не пропустите регистрацию :)
источник