@scala_ru

Страница 1293 из 1499
Nikolay
15.02.2018
10:11:28
request: java.lang.Object

так что да, вряд ли поможет

Alexey
15.02.2018
10:12:00
ой вей, а тип известен на вызове requestMatch?
Ну я же вот тут впринципе уточнил

Александр
15.02.2018
10:12:46
private def makeRequest[R, A](request: A, delay: Option[FiniteDuration] = None)(implicit ev: A <:< { def execute(): R }): Unit = { execute(request.execute(), delay) }
спасибо, буду курить оставлю как вишенку на торте после исправления всего остального

Google
Nikolay
15.02.2018
10:12:49
быть может ты можешь делать это в какой-то момент, когда тип request еще известен

Александр
15.02.2018
10:13:06
подмешивать тип ?

Alexey
15.02.2018
10:14:00
Alexey
15.02.2018
10:15:06
сам такой не пишешь?
Нет, спасибо, я не голодный

Diemust
15.02.2018
10:16:36
orElse?
блин, точно, забыл совсем -_-

Alexey
15.02.2018
10:16:51
madskillz https://scastie.scala-lang.org/Mikekeke/9KNPI26yQPSJaguoJUbI2A
А за такое вообще надо убивать на месте

Mikekekeke
15.02.2018
10:17:03
не спорю ))

Александр
15.02.2018
10:18:10
madskillz https://scastie.scala-lang.org/Mikekeke/9KNPI26yQPSJaguoJUbI2A
по красоте, именно такой красоты мне и не хватало в жаркой пустыне

Nikolay
15.02.2018
10:18:12
doGo

Alexey
15.02.2018
10:18:48


Google
Oleg
15.02.2018
10:18:55
go func(x interface{})

Nikolay
15.02.2018
10:19:17
лучше defenitelyGo для опасного метода и maybeGo для безопасного

безопасный делает System.exit(0) если такого метода нет

Oleg
15.02.2018
10:20:23
System.exit(404)

Александр
15.02.2018
10:32:27
всегда так делаю когда запускаю jvm для каждого реквеста

Andry
15.02.2018
11:00:50
Ребят кинтесь сцылкой на сайтик где можно кусочек кода поместить и выполнить чтобы вопросец тут задать? Ну типа онлайн компилятор

Daniel
15.02.2018
11:01:56
https://scastie.scala-lang.org scalafiddle.io/

Andry
15.02.2018
11:02:19
Спасибки

А фсё разобрался, но все равно спасибки :)

Andrey
15.02.2018
11:38:39
Не, implicit val пугающая дичь

Oleg
15.02.2018
11:40:50
Andrey
15.02.2018
11:44:08
Вот допустим я хочу странички с сети подгружать, def get(url: String) = scala.io.Source.fromURL(url).mkString ошибка с кодрировкой, делаю implicit val codec = Codec("UTF-8"), круто, работает не падает, а потом мне нужно там же с другой кодировкой получить страничку и что же теперь делать, как жить-то?

Oleg
15.02.2018
11:44:39
пишешь в другом скоупе другую кодировку

Aleksei
15.02.2018
11:44:41
как вариант передать явно имплиситный параметр

ну тут вообще много вариантов

Oleg
15.02.2018
11:45:17
но юзать scala.io.Source....

бОльшая проблема, чем импличиты

Andrey
15.02.2018
11:45:30
Ну пример жи, ну

Oleg
15.02.2018
11:46:47
Например, возьмём код, который плохо заточен под использование α . Используем код с α, получаем проблемы. Вывод: α - говно

Google
Alex
15.02.2018
11:47:15
это классика, да

Oleg
15.02.2018
11:48:51
<...> фриманатки - мусор

Daniel
15.02.2018
11:50:19
<...> фриманатки - мусор
много букв все запомнят только последнюю фразу

Andrey
15.02.2018
11:50:26
Я вот просто не могу осознать почему implicit val действительно нужен, implicit fun и implicit class крутые вещи...

Oleg
15.02.2018
11:51:36
На самом деле всё можно заменить на implicit def

Alexey
15.02.2018
11:54:37
эй, хорошая тема для холивара же была

я понял

Alexey
15.02.2018
11:56:43
В скалке нельзя написать функцию вне класса, а в котлине можно, то есть в котлине можно написать всю приложуху чисто на функциях, значит ли это что котлин более функциональный чем скала ?

Aleksei
15.02.2018
11:57:01
вот уже нормальный наброс

Alexey
15.02.2018
11:57:26
в котлине тоже манатки есть.

Alexey
15.02.2018
11:57:29
Alex
15.02.2018
11:57:41
Oleg
15.02.2018
11:58:06
тоже класс
главное, что синтаксически эквивалентен топ-левел

но я обычно просто в object пихаю, не вижу проблем

в котлине тоже манатки есть.
да и в ANSI C фриманатки бывают

Alexey
15.02.2018
11:59:57
и в си тоже можно топлевел функции!

Google
Oleg
15.02.2018
12:00:20
на самом деле в скалке тоже можно топлеве функции

без пакедж обжектов

object Foo extends (Int => Int){ def apply...

Oleksandr
15.02.2018
12:02:50
На самом деле всё можно заменить на implicit def
а как тот же тайпкласс через деф сделать?

Oleg
15.02.2018
12:03:08
implicit def instance: Show[Foo] = ... или private val realInstanceBecauseIhateImplicitVals : Show[Foo] implicit def instance: Show[Foo] = ealInstanceBecauseIhateImplicitVals

Oleksandr
15.02.2018
12:04:28
тайпкласс или инстанс?
именно обьявление, чтобы идентично class F(a: A)(implicit val b: B[A])

Oleg
15.02.2018
12:05:39
но вообще очень редко пишу такие конструкторы

Oleksandr
15.02.2018
12:22:47
class F(a: A)(implicit b: B[A]){ val bb = b
scala> class C(i: Int)(implicit b: B[Int]) defined class C scala> :javap -c C Compiled from "<console>" public class C { public C(int, B<java.lang.Object>); Code: 0: aload_0 1: invokespecial #10 // Method java/lang/Object."<init>":()V 4: return } это тот же implicit val

для сравнения, scala> class C(i: Int)(implicit val b: B[Int]) defined class C scala> :javap -c C Compiled from "<console>" public class C { public B<java.lang.Object> b(); Code: 0: aload_0 1: getfield #11 // Field b:LB; 4: areturn public C(int, B<java.lang.Object>); Code: 0: aload_0 1: aload_2 2: putfield #11 // Field b:LB; 5: aload_0 6: invokespecial #18 // Method java/lang/Object."<init>":()V 9: return }

Oleg
15.02.2018
12:25:56
scala> class C(i: Int)(implicit b: B[Int]) defined class C scala> :javap -c C Compiled from "<console>" public class C { public C(int, B<java.lang.Object>); Code: 0: aload_0 1: invokespecial #10 // Method java/lang/Object."<init>":()V 4: return } это тот же implicit val
не очень понял, что это доказывает Мы избегали сочетания implicit и val, во что они там компилятся - это уже второстепенный факт. И вообще, нужно жаваскрипт показывать, а не эту вашу аутсайдерскую JVM для фриков

Дмитрий
15.02.2018
12:27:17
подскажите, можно ли в idea сделать noinspection для неиспользуемых импортов ?

Oleg
15.02.2018
12:27:42
а ты используй импорты

Oleksandr
15.02.2018
12:28:03
не очень понял, что это доказывает Мы избегали сочетания implicit и val, во что они там компилятся - это уже второстепенный факт. И вообще, нужно жаваскрипт показывать, а не эту вашу аутсайдерскую JVM для фриков
я к тому, что в твоем сниппете делается точно то же, что и с implicit val (ну переменную надо ещё явно присвоить, что ты и сделал в конструкторе класса)

Oleg
15.02.2018
12:28:31
и?

но мы же не пишем implicit val, который по каким-то причинам не нравится вон тому чуваку

Дмитрий
15.02.2018
12:29:23
а ты используй импорты
импорты тянут имплиситы

Google
Oleg
15.02.2018
12:29:47
импорты тянут имплиситы
используй import implicit module._

Oleksandr
15.02.2018
12:30:03
confusion с маппингом implicit conversion => def, implicit parameter => val

используй import implicit module._
а вот тут мой сарказмометр сломался это шутка?

Oleg
15.02.2018
12:31:49
а вот тут мой сарказмометр сломался это шутка?
нет, это будущая фича, которую сабин будет запиливать в тайплевельный компилятор

Oleksandr
15.02.2018
12:32:02
о_О

можно ссылку на ишью? (сходу не нагуглил)

Nikolay
15.02.2018
12:34:33
он кажется это на какой-то конференции рассказывал

можно ссылку на ишью? (сходу не нагуглил)
https://skillsmatter.com/skillscasts/11104-shapeless-is-dead-long-live-shapeless - может быть тут есть, ближе к концу

Oleg
15.02.2018
12:38:18
о_О
33:48

тьфу блин, пока искал таймстамп уже скинули

Oleksandr
15.02.2018
12:40:29
Whoops! Some things are wrong: Email has already been taken Handle has already been taken обожаю ноунейм сайтики

Oleg
15.02.2018
12:41:17
https://github.com/milessabin/scala/commit/beb62b1509bdf7a8cf524d03f844bc85d68e47d7

ну и релевантно https://github.com/milessabin/export-hook

Oleksandr
15.02.2018
12:55:34
полезная штука совсем хорошо было бы убрать импорт не-имплиситов при обычном вайлдкарде

Страница 1293 из 1499