Sergey
15.09.2017
15:52:06
Оффтоп и очередной вопрос про деньги: допустим, у меня есть ~год опыта работы джава-фуллстэком, последние 2 месяца перекатываюсь в скалу. Какую сумму можно просить на интервью? (джун, конечно). дс2
hohserg
15.09.2017
15:52:14
И эффективно ли юзать LongMap, когда нужно хранить Int-ключи? Ведь при каждом действии с мапой происходять преобразование toLong, toInt
@ssvitkov время работы ниче не значит
Но у работодателя может быть другое мнение)
Google
Sergey
15.09.2017
15:54:50
@ssvitkov время работы ниче не значит
да, конечно, я понимаю это. Просто пытаюсь понять, какая вилка у скала-джуниора и насколько сильно она отличается от вилки джава-джуниора (если вообще отличаается)
Aleksei
15.09.2017
15:55:53
Aleksey
15.09.2017
15:56:06
хорошо быть джуном. столько перспектив. не то что у нас, старых пердунов.
Aleksei
15.09.2017
15:56:06
Ну зп на скалке чуть выше
Митко Соловец?
15.09.2017
15:56:15
смотря какой джун
если джава ту скала
Aleksei
15.09.2017
15:56:22
Oleksiy
15.09.2017
15:56:24
Так как писать на скале приятней, то и платить должны меньше. Я бы привел такой аргумент.
Митко Соловец?
15.09.2017
15:56:33
то как бы там зп по грейду должна быть
Aleksey
15.09.2017
15:56:47
Aleksei
15.09.2017
15:57:17
Но тогда и курс другой был ?
Sergey
15.09.2017
15:58:06
Google
Митко Соловец?
15.09.2017
15:58:44
Олег
15.09.2017
15:58:48
Митко Соловец?
15.09.2017
15:59:05
Олег
15.09.2017
15:59:40
Просто вдруг это 15k грн
Aleksei
15.09.2017
16:00:01
Митко Соловец?
15.09.2017
16:00:16
так до этого кем по жизни был?
айтишников или нет?
Aleksei
15.09.2017
16:00:28
Олег
15.09.2017
16:00:31
S
15.09.2017
16:01:15
Олег
15.09.2017
16:01:36
Вайтишник
Митко Соловец?
15.09.2017
16:02:02
пилил по-тихому
короче ты с нуля прям вкатился?
Andry
15.09.2017
16:02:21
KrivdaTheTriewe
15.09.2017
16:09:01
Aleksey
15.09.2017
16:13:14
Anatoliy
15.09.2017
16:20:01
Oleksiy
15.09.2017
16:23:15
Не лишено логики, поднимаем ЗП для моей вымышленной позиции!
Google
hohserg
15.09.2017
16:44:54
Почему не работают implicit int to long для a->b, но работают для (a,b)? Похоже на баг. Версия 2.11.7
Oleg
15.09.2017
16:57:36
hohserg
15.09.2017
16:58:06
object LongToInt {
implicit def long2int(i:Long):Int=i.toInt
implicit def int2long(i:Int):Long=i.toLong
}
new mutable.LongMap[(String,String)]()+=(damage,(craftGroup,useGroup))
damage - Int
вот так работает
new mutable.LongMap[(String,String)]()+=damage-?craftGroup,useGroup)
а вот так нет
смайлик, блин
a->b
вот это понятно?
Oleg
15.09.2017
16:59:34
во вторых gist и scastie.scala-lang.org
в третьих у тебя мапа стринг-стринг, при чём тут лонг-инт
в четвёртых, две имплиситных конверсии за раз не применяется
hohserg
15.09.2017
17:02:24
LongMap
ключ Long, значение (String,String)
Oleg
15.09.2017
17:02:51
либо у тебя объект превратится имплиситно в Long
либо в ArrowAssoc, чтобы расшириться методом ->
в пятых имплиситная конверсия Int => Long уже есть в стандарте, её не нужно объявлять
hohserg
15.09.2017
17:04:30
А в каком пакете есть?
Google
Oleg
15.09.2017
17:04:38
да просто по дефолту
это же просто джавовый каст
в пакете scala.Predef
hohserg
15.09.2017
17:06:45
не работает че-то
та же ошибка
Oleg
15.09.2017
17:07:32
я же сказал, что две имплиситных конверсии не применятся
hohserg
15.09.2017
17:07:56
это как понимать?
Oleg
15.09.2017
17:08:02
не превратится у тебя объект сначала в Long, а потом в ArrowAssoc[Long] , не умеет так компилятор
т.е. либо в Long либо в ArrowAssoc[Int]
ты же понимаешь, как работает этот синтаксис x -> y
hohserg
15.09.2017
17:09:22
мне казалось ,что это синтаксический сахар
Bulat
15.09.2017
17:09:52
implicit final class ArrowAssoc[A](private val self: A) extends AnyVal {
@inline def -> [B](y: B): Tuple2[A, B] = Tuple2(self, y)
def →[B](y: B): Tuple2[A, B] = ->(y)
}
это в Predef
Oleg
15.09.2017
17:09:59
нет, это имплиситная конверсия, дешугарится в ArrowAssoc(x) -> y
соответственно ты хочешь чтобы компилятор наслоил две конверсии типа
ArrowAssoc(int2Long(key)).->(value)
вот компилятор так намеренно не делает
hohserg
15.09.2017
17:11:53
Хорошо, темерь понятно. Т.е. мне нужно сделать имплицит Int to ArrowAssoc[Long]?
Oleg
15.09.2017
17:12:34
нет, используй тьюплы
если компилятор найдёт две имплисит конверсии в ArrowAssoc, скорее всего он запутается и не вызовет ни одну, увидев метод ->
Google
Oleg
15.09.2017
17:22:31
Хочешь странного сахара - сделай себе странного сахара
https://scastie.scala-lang.org/Odomontois/bOrxqxARRCy6Nbbh6jbUPw
Ivan
15.09.2017
17:26:10
hohserg
15.09.2017
17:55:58
Oleg, спасибо, но это немного не то. А почему компилятор не юзает несколько имплицитов вложенных вообще? Чтобы запутанность кода была ниже?
Oleg
15.09.2017
18:00:23
я хз тогда что для тебя то
Daniel
15.09.2017
18:07:53
hohserg
15.09.2017
18:11:41
чтобы можно было создать тьюпл через -> и работало неявное преобразование в лонг
я хз тогда что для тебя то
Oleg
15.09.2017
18:12:32
но компилятор никогда не вычислит, что тебе нужен Long
вот, смотри ровно то, что ты просил
https://scastie.scala-lang.org/Odomontois/klf5ag43R0KBmReCtTyyrg
Mikhail
15.09.2017
18:20:52
ну и в лучших традициях борцов за чистоту кода, можно даже так https://scastie.scala-lang.org/Rudogma/6BsU0knSQn6Ga9GLBzmeCQ
hohserg
15.09.2017
18:54:09
Михаил, спасибо, вот это то ,что нужно
Mikhail
15.09.2017
19:24:38
hohserg
15.09.2017
19:25:27
Наподобии того, что ты скинул? Чем он плох?
Mikhail
15.09.2017
19:28:09
Наподобии того, что ты скинул? Чем он плох?
тем, что это просто костыль неявный. а костыли - всегда плохо) годятся когда знаешь зачем и куда, но не годятся чтобы быть использованным как "гуд гайдлайнз, стейт оф арт кодинг"
hohserg
15.09.2017
19:28:46
Костылем будет, если я каждый раз буду писать toLong