@Fsharp_chat

Страница 552 из 772
Evgeniy
13.04.2018
17:59:57
Хоть какая-то информация о именах и значениях в скоупе.

Vasily
13.04.2018
18:00:08
Норм было бы, если бы туда мапа прилетала, например.
Мап не является вроде базовым объектом

Evgeniy
13.04.2018
18:00:35
Короче, это довольно странно. Пока не понимаю, как это можно использовать.

Vasily
13.04.2018
18:01:07
Ну можно сделать билдер, который собирает функцию создания объекта

Google
Vasily
13.04.2018
18:01:16
Я так писал

Evgeniy
13.04.2018
18:02:19
И все будет зависеть только от порядка let-связываний?

Ну такое.

Vasily
13.04.2018
18:02:54
Ну да,от порядка

Я тоже думаю над тем, как имена прокинуть

Пока в голову приходят только квотейшны

Alex
13.04.2018
18:03:56
Так же думал в качестве билдера использовать, подобно тому как в сатурне

Vasily
13.04.2018
18:06:26
Ну такое.
В целом можно написать сериализатор в словарь

А потом в любой формат

Ну такое.
Кстати, а если в квотейшны заворачивать на бинде, что будет?

Nikolay
13.04.2018
18:09:49
Тебе Map или Dictionary?
Без разницы

Google
Nikolay
13.04.2018
18:10:28
Там реализация за функцией скрыта: addToChain : string -> string -> unit

Vasily
13.04.2018
18:11:25
Давай код.
Хотя бинды только на let! работают

Но в целом ничто не мешает определить кастомную операцию, которая принимает квотейшн

Там с билдерами ещё прикол есть

Нельзя достучаться до переменных,переданных в конструкторе

Evgeniy
13.04.2018
18:18:28
Нельзя достучаться до переменных,переданных в конструкторе
В каком смысле? Из самого выражения ты имеешь в виду?

Vlad
13.04.2018
18:19:49
Мы теперь за циклы и ООП. ?
Тут ещё uncle bob на эту тему написал в блог сегодня http://blog.cleancoder.com/uncle-bob/2018/04/13/FPvsOO.html

Vlad
13.04.2018
18:21:19
Монада — это смарт пайп.
Сейчас брошу в тебя словами которых не понимаю

zygohistomorphic prepromorphism

Evgeniy
13.04.2018
18:24:04
zygohistomorphic prepromorphism
О, я знаю, это @xgrommx.

Klei
13.04.2018
18:25:46
Спасибо. Ещё вопрос, как такое написать: var dict = new Dictionary<string, List<string>>(); var last = ""; foreach (var item in items) { if (!string.IsNullOrEmpty(last)) { dict[last].Add(item); } last = item; } dict[last].Add(""); ?
Пока так: let f items = items |> List.fold (fun (last, map) item -> item , match String.IsNullOrEmpty last with | true -> map | false -> Map.add last item map) ("", Map.empty) // last isNullOrEmpty? ||> fun last -> Map.add last ""

Nikolay
13.04.2018
18:27:28
Кажется у меня есть идея лучше

Vasily
13.04.2018
18:28:23
Партишны же

Nikolay
13.04.2018
18:29:21
pairwise можно

Только вопрос как она работает, если количество не чётное

Klei
13.04.2018
18:31:43
Только вопрос как она работает, если количество не чётное
Он берет все пары. А не только нечет+чет. Т.е. [1;2;3] -> [1,2 ; 2,3].

Nikolay
13.04.2018
18:32:57
Мм

Klei
13.04.2018
18:35:17
let f2 items = [ yield "" yield! items yield "" ] |> List.pairwise |> List.filter (fst >> String.IsNullOrEmpty >> not) |> Map.ofList * Исправил.

Nikolay
13.04.2018
18:36:30
Что-то страшное

Google
Klei
13.04.2018
18:36:53
Это менее страшно, чем то, что было.

?‍?
13.04.2018
18:45:50
Что-то страшное
А можно узнать зачем вам уроборос?

Nikolay
13.04.2018
18:47:26
А можно узнать зачем вам уроборос?
Чтобы цепочку выстроить

Какое слово за каким следует

Пробел - конец строки

?‍?
13.04.2018
18:49:48
Чтобы цепочку выстроить
А почему словарём тогда, а не связным списком?

Nikolay
13.04.2018
18:51:06
А почему словарём тогда, а не связным списком?
Потому, что за словом может следовать несколько других

Из разных предложений

Типа: Привет Вася Привет Петя Привет -> Вася, Петя

?‍?
13.04.2018
18:52:06
Из разных предложений
Типа карта текста для клавиатуры, чтобы дополнять фразы из предложенного

Vasily
13.04.2018
18:52:12
Ну дык по другому решается

Nikolay
13.04.2018
18:52:24
Хотя там ещё должен один критерий быть, частота, с которой слово встречается

Но я пока забил

Vasily
13.04.2018
18:53:11
Ну делается по-другому по идее

Vasily
13.04.2018
18:53:54
Берешь строки, бьешь на слова

Каждое слово мапишь на индекс строки

Ну а дальше фолд по идее

Nikolay
13.04.2018
18:56:04
У меня напрямую индексами не оперируется :)

Google
Nikolay
13.04.2018
18:56:27
У меня функция есть addToChain, которая добавляет слово a к слову b

Vasily
13.04.2018
18:56:52
Ну я бы индексы добавил

Nikolay
13.04.2018
18:57:20
Там реализация может быть любой

Сделано специально, чтобы изолировать

Vasily
13.04.2018
18:57:40
Или тебе ещё надо паттерн распознать?

Типа отсечь привет?

Nikolay
13.04.2018
18:59:06
Нет, оно не отсекается

Хмм, а pairwise мне подойдёт же

Да, точно

?‍?
13.04.2018
19:00:19
Хмм, а pairwise мне подойдёт же
Статью смотрели? http://lsreg.ru/generaciya-teksta-s-pomoshhyu-cepi-markova-na-f/

Roman
13.04.2018
19:00:50
Статью смотрели? http://lsreg.ru/generaciya-teksta-s-pomoshhyu-cepi-markova-na-f/
О спасибо, видел давно, теперь хоть пойму о чем это

Nikolay
13.04.2018
19:01:38
У меня вообще немного модифицированный алгоритм, он умеет лучше строить предложения)

?‍?
13.04.2018
19:02:30
У меня вообще немного модифицированный алгоритм, он умеет лучше строить предложения)
Ну да, такое себе: "Как правило, под этим подразумевали), а потом — в силу ограничений, связанных с указанными проблемами, составила 5 тысяч долларов старые модели телефонов, а только когда согласились предоставлять доступ клиентам к сети турецких пользователей ."

Nikolay
13.04.2018
19:02:49
Ну логически то бессвязный бред получается

В любом случае

Хотя пёрлы иногда выдаёт

?‍?
13.04.2018
19:04:15
Хотя пёрлы иногда выдаёт
Таки надо для связности использовать словосочетания. Если вы для русского языка делаете, там есть ухищрений куча, чтобы даже стихи писало.

Google
?‍?
13.04.2018
19:06:00
Всё равно контекст не учитывает
Это уже множеством наборов частоты решается

Nikolay
13.04.2018
19:06:34
Или вот, романтика: Вода бухты отблесками солнца слепила глаза, заставляя улыбаться. Лазурь неба тянула к атаке.

?‍?
13.04.2018
19:07:08
Типа: Радуйся жизни. я нормальный????
Конечная цель отвечающий бот или?

Nikolay
13.04.2018
19:07:28
Конечная цель отвечающий бот или?
Конечная цель, бот выкидывающий пёрлы :)

Anna
13.04.2018
19:08:20
?‍?
13.04.2018
19:08:44
Конечная цель, бот выкидывающий пёрлы :)
Мне по душе бот, составляющий уравнения для ВМ/ЛА

Vasily
13.04.2018
19:08:45
Тут целые каналы таких есть

Nikolay
13.04.2018
19:08:58
Просто хочу сделать это на F#

И чтобы не жрало овер 9000 гигабайт памяти

Vasily
13.04.2018
19:09:09
Мне по душе бот, составляющий уравнения для ВМ/ЛА
Проблема в доказательстве наличия решения

?‍?
13.04.2018
19:11:02
Проблема в доказательстве наличия решения
Берете за основу равенство, а потом из этой базы наращиваете

И чтобы не жрало овер 9000 гигабайт памяти
Поделитесь сколько в итоге будет жрать + не забывайте про сжатие текста в бинарный формат, вам же только буквы и знаки препинания нужны.

Nikolay
13.04.2018
19:13:50
И гонять на диск за данными

Хотя оно там вроде в памяти тоже сидит

?‍?
13.04.2018
19:15:08
А я подумываю хранить в litedb
Не знаком, тут вопрос, что вам важнее, память меньше кушать, разжимая строки из блобов, или же хранить в чистом виде.

Nikolay
13.04.2018
19:15:48
Ну поэтому я делаю так, что реализацию доступа к данным можно самому написать любую

Vasily
13.04.2018
19:29:03
Радикс три же

Хотя не оно жрёт вполне себе

Evgeniy
13.04.2018
20:17:05
Привет.

Страница 552 из 772