
Ҫѐҏӗѫӑ
16.02.2018
03:31:56
чтобы я не писал свой в функции. о том, что давно есть
ну на самом деле так и можно
просто как к чату подходит хз

andretshurotshka?❄️кде
16.02.2018
03:40:24
ты прошел тест тьюринга

Google

andretshurotshka?❄️кде
16.02.2018
03:40:24
но тебе надо отправить смс

Kelin
16.02.2018
07:18:08
Если кана бросает аниме, то это по идее правое сужение, а не расширение

illiatshurotshka❄️
16.02.2018
08:40:05
@kana_sama
в японском невежливо использовать местоимения 2-го лица если имя известно

Denis
16.02.2018
08:56:26
Нафлудили

Kelin
16.02.2018
09:06:11
Лол

illiatshurotshka❄️
16.02.2018
11:51:42
да

Kelin
16.02.2018
11:51:47
Ебать
Не, я понимаю, что для них это норма, но че-то дико как-то
В 3ем лице ок

illiatshurotshka❄️
16.02.2018
11:52:21
если имя не знают, то говорят местоимение anata. если человек близкий то можно еще сказать kimi

Andrey
16.02.2018
13:39:48
функцаны привет!

Denis
16.02.2018
13:40:10
хуйню не неси

Google

? animufag ?
16.02.2018
13:40:56
лол
так грубо

Andrey
16.02.2018
13:41:21
[1,2,3,4,5, 0, 5,6,7,8,9]
что использовать чтобы сделать [1,2,3,4,5] ?
вот у меня есть бесконечно большой массив и надо отрезать всё что после нолика
если он там найдётся

? animufag ?
16.02.2018
13:42:18
рамда?

Aleksei
16.02.2018
13:42:27
rx?

Andrey
16.02.2018
13:42:29
javascript онли )

illiatshurotshka❄️
16.02.2018
13:42:32
slice + indexOf

Дмитрий
16.02.2018
13:42:46
rx не для обработки массивов

Aleksei
16.02.2018
13:43:04
А вдруг откуда нибудь внезапно пришло

Дмитрий
16.02.2018
13:43:04
Рамда не для бесконечных списков

? animufag ?
16.02.2018
13:43:20
ну да да

Дмитрий
16.02.2018
13:43:26
Генераторы просто заюзать

? animufag ?
16.02.2018
13:43:30
читый джс не для бесконечных списков

Andrey
16.02.2018
13:43:36
вообще в качестве значений там объект Date ) но я так упростил )

kana
16.02.2018
13:43:50
[1,2,3,4,5, 0, 5,6,7,8,9]
что использовать чтобы сделать [1,2,3,4,5] ?
takeWhile же

Andrey
16.02.2018
13:43:58

Google

? animufag ?
16.02.2018
13:44:19
так всё таки была радма?

Andrey
16.02.2018
13:44:19
эх https://i.imgur.com/wA9UFce.png

Kelin
16.02.2018
13:44:35
JavaScript не для бесконечных массивов
rx не для обработки массивов
Рамда не для бесконечных списков

Andrey
16.02.2018
13:44:39
ладно ща такевхиле напишу свой

Дмитрий
16.02.2018
13:45:03
Благодаря которой нода так эффективна в io

Kelin
16.02.2018
13:46:22
А ты уверен, что это нода ?

Дмитрий
16.02.2018
13:46:53
Я не про ноду
function* takeWhile(pred, iter) {
for(const e of iter) {
if (!pred(e)) return
yield e
}
}

kana
16.02.2018
13:51:22

Дмитрий
16.02.2018
13:52:27
Норм либам должно быть пофигу, все обязаны работать с Iterable

kana
16.02.2018
13:53:19
да, но я говорю сейчас не про либу, а про конктерных людей, которые написали именно "массив" и других людей, которые сказали, что этот конкретный тип "массив" может быть бесконечным и это фича жс)

Дмитрий
16.02.2018
13:53:41
вот у меня есть бесконечно большой массив и надо отрезать всё что после нолика

? animufag ?
16.02.2018
13:54:03
я думаю он всё таки не бесконечный
такая в целом мутная история

kana
16.02.2018
13:54:15
таки вот ответ - бесконечно больших массивов в жс нет, массивы в жс энергичные

Andrey
16.02.2018
13:54:20
Всем спасибо!
запилил такое , вроде работает
takeWhile = (arr, matcher) =>
arr.reduce((memo, item) => {
if(memo.isAlreadyTaked) {
return memo;
}
const isBingo = matcher(item);
if(isBingo) {
memo.isAlreadyTaked = true;
return memo;
}
memo.takedArray.push(item);
return memo;
}, {takedArray: [], isAlreadyTaked: false}).takedArray
// //
takeWhile([1,2,3,0,5,6,7], item => item === 0); // => [1,2,3]

Google

kana
16.02.2018
13:54:37
но какой-нибудь другой иттерабл бесконечным быть может
JavaScript не для бесконечных массивов
Вообще то это его основная фича

Дмитрий
16.02.2018
13:55:19
Массивы для лохов, Iterable для норм пацанов

Andrey
16.02.2018
13:55:36
саги ещё нужны и асинки

Дмитрий
16.02.2018
13:55:52
Саги не нужны

Andrey
16.02.2018
13:56:06
))) да я для затравки ))

kana
16.02.2018
13:56:34
саги это обычный free с ду-нотацией, я таки стою на своем

Дмитрий
16.02.2018
13:57:07
Это архаичный апи

Kelin
16.02.2018
13:57:08

kana
16.02.2018
13:57:24

Andrey
16.02.2018
13:57:34
саги это чтобы в фп как-то оправдать то что юзается чтото запретное. сайдэффекты всякие,

Дмитрий
16.02.2018
13:58:00
Саги это в первую очередь архаичный апи, я настаиваю
Они решают проблемы которых больше нет

Andrey
16.02.2018
13:59:01

Дмитрий
16.02.2018
13:59:01
То что они используют фп паттерн чтобы решать свои архаичные проблемы это вторичное

Andrey
16.02.2018
14:01:52
никакие не решал. я со вообще не юзил и не находил проблем которые он решает, поэтому и спрашиваю

Дмитрий
16.02.2018
14:02:09
Вот аналогично
Мы делаем вид что у нас синхронный код а все сайд эффекты где-то далеко, но это самообман. Код асинхронен и я не вижу причин скрывать это даже если он делегирует все побочные эффекты куда подальше

Google

kana
16.02.2018
14:04:43
у нас есть поток экшонов
его нужно как-то обрабатывать
+ Этот подход давайте условно назовем MTL с MonadIO
- мы можем делать это через .map/.chain интерфейс
- можем делать это через до-нотацию (на генераторах, будет как саги, только без call для любых сайд-эффект-функций)
+ можем пойти еще дальше и вынести сайд-эффекты из кода куда-то в другое место, убрать IO. Этот подход мы уже назовем Free
- опять же, можем делать это через map/chain (не видел правда таких реализаций)
- можем через do-нотацию (получатся саги в теперяшнем виде)
собственно срачи об этих двух подходах в хаскеле актуальны и по сей день

Дмитрий
16.02.2018
14:05:08
Следует различать идею и реализацию. Идея остаётся актуальной, а псевдосинхронные йилды — это архаизм

kana
16.02.2018
14:05:37
какие?
я кроме генераторов не видел ничего просто

Сергей
16.02.2018
14:05:57
let foo = do { a ? 2 : 3 }
?

Дмитрий
16.02.2018
14:06:47
Перестать стесняться того факта что у нас асинхронный код и освежить в памяти понятие корутин)
await fetchAuth(user).done()

kana
16.02.2018
14:07:36
для стримов?
await?

Дмитрий
16.02.2018
14:07:52
Да, а в чем проблема?)

kana
16.02.2018
14:08:00
пока мне пример как это работает
я долгое время пытался прикрутить await к другим монадам и сдался

Дмитрий
16.02.2018
14:09:35
А у меня наоборот недавно просто инсайт случился и await оказался ответом на многие вопросы) Сейчас запилю пример

kana
16.02.2018
14:10:02
с maybe например хотя бы