Size: a a a

Kotlin Community

2021 January 05

AM

Andrew Mikhaylov in Kotlin Community
LevT
typealias FUN = (Sequence<Int>, (Int) -> Boolean) -> Boolean
val f:FUN = {seq, f -> seq.all(f)}

Подскажите "научно обоснованный" нейминг этому.
Всё читал/теоретически наслышан но забыл без практики
Нейминг чему?
источник

L

LevT in Kotlin Community
Andrew Mikhaylov
Нейминг чему?
функтор? fmap? что-то другое монадическое?
источник

DK

Denis Kalinochkin in Kotlin Community
LevT
typealias FUN = (Sequence<Int>, (Int) -> Boolean) -> Boolean
val f:FUN = {seq, f -> seq.all(f)}

Подскажите "научно обоснованный" нейминг этому.
Всё читал/теоретически наслышан но забыл без практики
map-reduce
источник
2021 January 06

L

LevT in Kotlin Community
Виницкий в своей книжке (в самом её начале для самых ещё новичков) пишет:
....Writing programs by chaining together various methods of transformation and aggregation is
known as programming in the map/reduce style.

Да, .all() здесь это оно, reduce
А вот с неймингом тайпалиасов и функции теплее там, где я написал
источник

DK

Denis Kalinochkin in Kotlin Community
LevT
Виницкий в своей книжке (в самом её начале для самых ещё новичков) пишет:
....Writing programs by chaining together various methods of transformation and aggregation is
known as programming in the map/reduce style.

Да, .all() здесь это оно, reduce
А вот с неймингом тайпалиасов и функции теплее там, где я написал
Твой fun это редьюсер, который принимает последовательность и маппер
источник

L

LevT in Kotlin Community
А на следующем "уровне посвящения" он же функтор или что-то вроде того
источник

DK

Denis Kalinochkin in Kotlin Community
Это не функтор
источник

L

LevT in Kotlin Community
Denis Kalinochkin
Твой fun это редьюсер, который принимает последовательность и маппер
Кстати, благодарю за помощь с "первым уровнем"
источник

L

LevT in Kotlin Community
Denis Kalinochkin
Это не функтор
Вот мне и интересно, что
источник

SA

Syed Shayan Ali in Kotlin Community
источник

SA

Syed Shayan Ali in Kotlin Community
Plz help me in this statements
источник

ВМ

Валерий Маевский... in Kotlin Community
1) No screen photos, please
2) This is C, not kotlin
3) Read chat rules
4) Equivalent kotlin code:

fun main() {
   for (number in 3..Int.MAX_VALUE)
       println("Number = $number")
}
источник

А⚙

Антон ⚙️ in Kotlin Community
Валерий Маевский
1) No screen photos, please
2) This is C, not kotlin
3) Read chat rules
4) Equivalent kotlin code:

fun main() {
   for (number in 3..Int.MAX_VALUE)
       println("Number = $number")
}
Нету там эквивалента, переполнения знакового целого в C — неопределённое поведение
источник

ВМ

Валерий Маевский... in Kotlin Community
Ну это да, это ближайшее
источник

ВМ

Валерий Маевский... in Kotlin Community
Там и getch() отсутствует
источник

V

Vladimir in Kotlin Community
Alexander Nozik
Чего-то я какую-то странную штуку замутил. Вроде красиво, но как-то не ортодоксально. Смотрите, у меня есть некоторые структуры с данными (древесные), которые друг в друга преобразуются. Все красиво и корутинно. Теперь мне взбрело в голову не только отображать структуры данных, но еще и отслеживать изменения в исходных данных. Для этого в промежуточных нодах надо пересчитать что-то по ключу. Желательно тоже лениво. Спрашивается, как это сделать, не прокидывае в каждое действие внешний контекст. Вот чего я сделал - у меня есть Flow, который слушает обновление ключей данных, я сделал инвалидацию и пересчет внутри этого Flow... Как-то не понятно получилось. Сейчас допишу, код скину.
...и не дописал
источник

AN

Alexander Nozik in Kotlin Community
Vladimir
...и не дописал
Дописал, но там фигня получилась. Нельзя внутри flow трансформаций делать сайд эффекты типа кеширования потому что они будут вызываться не один раз, а по разу на каждую подписку
источник

L

LevT in Kotlin Community
Andrew Mikhaylov
То есть
fun result(seq: Sequence<Int>, f: (Int) -> Bool): Bool = ...
Пытаюсь добить задачу.
Со всеми наработками, по прежнему не выходит
вытащить функцию {j -> it % j == 0} в дефолтное значение параметра или в вызов

fun solution(seq: Sequence<Int>, f: (Int) -> Boolean) =
   seq.map {
       (2..it).count { j -> it % j == 0 } == 3
   }.filter { true }

solution((1..1000).asSequence(), ???).toList()

Продолжаю просить помощи
источник

L

LevT in Kotlin Community
Чего-то базового не умею или даже не понимаю...
источник

DK

Denis Kalinochkin in Kotlin Community
LevT
Пытаюсь добить задачу.
Со всеми наработками, по прежнему не выходит
вытащить функцию {j -> it % j == 0} в дефолтное значение параметра или в вызов

fun solution(seq: Sequence<Int>, f: (Int) -> Boolean) =
   seq.map {
       (2..it).count { j -> it % j == 0 } == 3
   }.filter { true }

solution((1..1000).asSequence(), ???).toList()

Продолжаю просить помощи
В чем смысл filter { true }?
источник