Size: a a a

Scala User Group

2020 June 09

λ

λoλcat in Scala User Group
Залифтить через функторК
источник

TG

Timofey Gusev in Scala User Group
λoλcat
Что мешает вывести для AnotherService functorK и залифтить инстанс в Env[_]?
дейстивтельно, так и попробую сейчас сделать
источник

λ

λoλcat in Scala User Group
Снаружи обертки у вас нет, и ее скорее всего лифтить не надо, там должен быть безконтекстный инициализационный эффеки
источник

TG

Timofey Gusev in Scala User Group
λoλcat
Снаружи обертки у вас нет, и ее скорее всего лифтить не надо, там должен быть безконтекстный инициализационный эффеки
да да, я не так понял изначально
источник

TG

Timofey Gusev in Scala User Group
спасибо
источник

S

SergejB in Scala User Group
Oleg ℕizhnik
У тебя не сохранилось случайно старых файлов
Сохранились
источник

S

SergejB in Scala User Group
Ага. Т. е. нужно делать апгрейд на 2.12
источник

AS

Artem Seleznev in Scala User Group
Привет! Коллеги!
Подскажите, как решить (делаю задание на курсе, но это не могу понять).

Дано
import scala.language.implicitConversions

implicit class HasIsEven(n: Int) {
 def isEven: Boolean = n % 2 == 0
}

42.isEven


Задание:
Rewrite the last line to explicitly show the implicit conversion that has been introduced by the compiler. It should show how the compiler instantiates the HasIsEven class around the expression 42.

Вроде ответ должен быть:
HasIsEven(42).isEven или new HasIsEven(42).isEven

Но нет 😥
Подскажите
источник

S

Simon in Scala User Group
там точно нет extends AnyVal?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Artem Seleznev
Привет! Коллеги!
Подскажите, как решить (делаю задание на курсе, но это не могу понять).

Дано
import scala.language.implicitConversions

implicit class HasIsEven(n: Int) {
 def isEven: Boolean = n % 2 == 0
}

42.isEven


Задание:
Rewrite the last line to explicitly show the implicit conversion that has been introduced by the compiler. It should show how the compiler instantiates the HasIsEven class around the expression 42.

Вроде ответ должен быть:
HasIsEven(42).isEven или new HasIsEven(42).isEven

Но нет 😥
Подскажите
Что за курс?
источник

λ

λoλegΥch in Scala User Group
Artem Seleznev
Привет! Коллеги!
Подскажите, как решить (делаю задание на курсе, но это не могу понять).

Дано
import scala.language.implicitConversions

implicit class HasIsEven(n: Int) {
 def isEven: Boolean = n % 2 == 0
}

42.isEven


Задание:
Rewrite the last line to explicitly show the implicit conversion that has been introduced by the compiler. It should show how the compiler instantiates the HasIsEven class around the expression 42.

Вроде ответ должен быть:
HasIsEven(42).isEven или new HasIsEven(42).isEven

Но нет 😥
Подскажите
должно работять
источник

VE

Vasiliy Efimov in Scala User Group
Artem Seleznev
Привет! Коллеги!
Подскажите, как решить (делаю задание на курсе, но это не могу понять).

Дано
import scala.language.implicitConversions

implicit class HasIsEven(n: Int) {
 def isEven: Boolean = n % 2 == 0
}

42.isEven


Задание:
Rewrite the last line to explicitly show the implicit conversion that has been introduced by the compiler. It should show how the compiler instantiates the HasIsEven class around the expression 42.

Вроде ответ должен быть:
HasIsEven(42).isEven или new HasIsEven(42).isEven

Но нет 😥
Подскажите
Предположу что могут ожидать просто класс и implicit def
источник

VE

Vasiliy Efimov in Scala User Group
Потому как implicit class это сахар над implicit conversion
источник

λ

λoλegΥch in Scala User Group
как обычно "не работает" ничего не говорит
источник

VE

Vasiliy Efimov in Scala User Group
Vasiliy Efimov
Потому как implicit class это сахар над implicit conversion
источник

AT

Aλeksei Tereχin in Scala User Group
источник

λ

λoλegΥch in Scala User Group
почему люди любят говорить "не работает"?
источник

S

Simon in Scala User Group
Artem Seleznev
Привет! Коллеги!
Подскажите, как решить (делаю задание на курсе, но это не могу понять).

Дано
import scala.language.implicitConversions

implicit class HasIsEven(n: Int) {
 def isEven: Boolean = n % 2 == 0
}

42.isEven


Задание:
Rewrite the last line to explicitly show the implicit conversion that has been introduced by the compiler. It should show how the compiler instantiates the HasIsEven class around the expression 42.

Вроде ответ должен быть:
HasIsEven(42).isEven или new HasIsEven(42).isEven

Но нет 😥
Подскажите
-Xprint:typer решает все вопросы
источник

S

Simon in Scala User Group
    implicit class HasIsEven extends scala.AnyRef {
     <paramaccessor> private[this] val n: Int = _;
     def <init>(n: Int): tmp.HasIsEven = {
       HasIsEven.super.<init>();
       ()
     };
     def isEven: Boolean = HasIsEven.this.n.%(2).==(0)
   };
   implicit <synthetic> def HasIsEven(n: Int): tmp.HasIsEven = new HasIsEven(n);
   tmp.this.HasIsEven(42).isEven
источник

S

Simon in Scala User Group
возможно требуется указать наличие синтетического метода
источник