Size: a a a

Scala User Group

2020 February 28

ЮБ

Юрий Бадальянц in Scala User Group
Не ну так тоже можно, но может есть какой-то тайпкласс для этого кайнда?
источник

ЮБ

Юрий Бадальянц in Scala User Group
map2 по ходу
источник

Oℕ

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

λ

λoλdog in Scala User Group
Это обычный map
источник

Oℕ

Oleg ℕizhnik in Scala User Group
это не обычный map
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
есть оптика IndexedSetter
источник

λ

λoλdog in Scala User Group
Map же можно представить как сиквенс тьюплов
источник

Oℕ

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

λ

λoλdog in Scala User Group
Ну поэтому это обычный map
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Николай, а если подумать, прежде, чем говорить
источник

Oℕ

Oleg ℕizhnik in Scala User Group
mapWithKey производит только новые значения, если представить Map как сиквенс тюплов результатом должен быть сиквенс результатов, а не новая Map
источник

Oℕ

Oleg ℕizhnik in Scala User Group
можно придумать тайпкласс FunctorWithKey
источник

Oℕ

Oleg ℕizhnik in Scala User Group
если хотите
источник

λ

λoλdog in Scala User Group
Логично
источник

λ

λoλdog in Scala User Group
Ну в хошкеле да, это mapWithKey зовётся
источник

ЮБ

Юрий Бадальянц in Scala User Group
На самом деле, там есть 3 варианта:
V => V2
(K, V) => V2
(K, V) => (K2, V2)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
для третьего варианта невозможно придумать адекватных законов
источник

Oℕ

Oleg ℕizhnik in Scala User Group
поэтому такой тайпкласс не нужен
источник

Oℕ

Oleg ℕizhnik in Scala User Group
думаю, можно придумать законы для
mapItemsWith((K, V) => (K2, V2))((V2, V2) => V2)
источник