@Fsharp_chat

Страница 235 из 772
Anton
18.07.2017
23:06:44
Потестирую всё это на себе и девушке, поспрашиваю что ей интересно видеть в приложении, напишу таковое, напишу статейку об этом, потом напишу приложение под iOS и Android и тоже напишу про это =)

Пока что, уже рисую на XPlot статистику по лвл моих персонажей =)

Итого и в F# лучше разберусь, и с пакетом FSlab тесно поработаю.

Google
Anton
18.07.2017
23:08:47
@nevoroman спасибо

Roman
18.07.2017
23:09:52
Круто

Anton
18.07.2017
23:10:19
У них в этом моменте очень кривое API. Пришлось поприседать.



В общем есть пару идей. Буду потиху реализовывать. Глядишь что годное сделаю =)

@nevoroman не, твоя фишка не сработала, оно в эксепшен падает

Ну и логично впринципе - ему же нужно знать с чем сравнивать

Roman
18.07.2017
23:34:48
@nevoroman не, твоя фишка не сработала, оно в эксепшен падает
Ну я тут короче удивился, написал простыню с развернутым логическим доказательством того, почему это нереально, а потом посмотрел код, увидел что сравнение идет именно с Id, а не со всем объектом и заткнулся

Кстати, график очевидно не лучшая визуализация в этом случае, логично взять какой-нибудь Pie или Bar Chart :)

Anton
18.07.2017
23:40:06
Да это только набросок на коленке. Буду пилить и придумывать всякое, устраивать опросы.

В ход пойдут не только графики F#, но и R

И в целом попробую по максимуму выжимать из Fslab.

Google
Anton
18.07.2017
23:44:57
Глядишь смогу потом в Минске на каком митапчике выступить ^_^

Evgeniy
19.07.2017
03:18:22
По TensorFlowSharp годных статей вообще нет?
Можно читать статьи просто про TF. API тот же.

Nikolay
19.07.2017
05:13:33
Anton
19.07.2017
07:16:26
@gsomix ты скажи лучше, как мне отрефакторить мой поиск и выбор строки, что бы привести в порядок код. =)

Anton
19.07.2017
07:17:01
А конкретно - этот ChampionName= structedChampions|>List.find (fun c -> c.Id.Equals(m.ChampionId)) |> fun c ->c.Name

Это пока то, на что хватило моих знаний и я прям чувствую что это сильно быдлокод.

Vasily
19.07.2017
07:19:48
Ну нужно больше кода

Aleksander
19.07.2017
07:19:53
а ты уверен что всегда найдешь чемпиона?

Anton
19.07.2017
07:20:10
Уверен

Vasily
19.07.2017
07:20:25
Пока, конечно, выглядит странно

что за m, кстати?

Anton
19.07.2017
07:21:24
Сейчас на работу еду, а этот код дома. Показать всё смогу только вечером. ='(

Если коротко, я маплю один лист на другой, потому что в первом есть только Id чемпиона, а мне нужны имена для юзер-френдли графика

Связку Id&Name я получаю через другой API и связываю это дело в моей dto

ect"==typeof module.exp
19.07.2017
07:52:10
подксажите а как обхявить свой тип эвивалентный массиву со строго фиксированным количеством элементов?

типа type MyArray = int array(8)

Evgeniy
19.07.2017
07:56:57
типа type MyArray = int array(8)
Боюсь, что только путем написания type provider для этой задачи.

Google
Evgeniy
19.07.2017
07:59:08
Все-таки это некоторый вид зависимой типизации, а в F# параметризовать тип числовым значением можно только с помощью провайдеров.

Anton
19.07.2017
07:59:37
@fvnever неужели и ты не знаешь как решить мой вопрос с рефакторингом ?

ect"==typeof module.exp
19.07.2017
07:59:56
https://fslang.uservoice.com/forums/245727-f-language/suggestions/5670163-fixed-length-arrays

Friedrich
19.07.2017
08:00:01
@fvnever неужели и ты не знаешь как решить мой вопрос с рефакторингом ?
Вопросы с рефакторингом без кода не решаются!

Anton
19.07.2017
08:00:37
Но код есть выше =)

Anton
19.07.2017
08:02:13
угу

Friedrich
19.07.2017
08:03:38
Ну, во-первых, тут странно, что ты пользуешься Equals вместо =. Во-вторых, я лично не люблю писать ... |> fun x -> ..., и поэтому я бы переписал так: let champion = champions |> List.find (fun c -> c.Id = m.ChampionId) let championName = champion.Name

MrErsh
19.07.2017
08:03:38
типа type MyArray = int array(8)
https://github.com/caindy/DependentTypesProvider

Anton
19.07.2017
08:04:10
@fvnever оно мне ругалось, что int не умеет в ==

Friedrich
19.07.2017
08:04:16
Что.

Anton
19.07.2017
08:04:23
приду домой вечером и покажу

Friedrich
19.07.2017
08:04:32
Хорошо.

Evgeniy
19.07.2017
08:04:35
https://github.com/caindy/DependentTypesProvider
Он заброшенный, там нет массивов.

Friedrich
19.07.2017
08:05:02
@fvnever оно мне ругалось, что int не умеет в ==
Если что, wild guess: ты и пытался написать двойное равенство, а надо было одинарное. См. мой пример кода.

Anton
19.07.2017
08:05:30
Тааааак, я кажется начинаю понимать.

@fvnever ну и не периписал бы, потому что я там формирую объект

это кусок из Seq.map

Google
MrErsh
19.07.2017
08:06:56
Он заброшенный, там нет массивов.
сори тогда, там для строк есть ограничения по длине, я думал и для массивов есть

Friedrich
19.07.2017
08:07:14
@fvnever ну и не периписал бы, потому что я там формирую объект
Я ничего не понял. Как я и говорил, без конкретного кода тут нечего обсуждать.

Anton
19.07.2017
08:07:22
ок =)

вечером скину фул

Да, нужно было репу завести на гитхабе, что-то я сморозил.

Evgeniy
19.07.2017
08:08:00
Есть еще более изощренная технология, но тоже без массивов. https://github.com/Lleutch/ConstraintTP

Мне и то, и другое кажется плохими решениями. Если только поиграться. :)

Если что-то очень сложно сделать с помощью языке, то лучше и не пытаться.

Oleg
19.07.2017
11:19:21
Иммутабельные очереди и прочие структуры: смотрите Крис Окасаки. Например, если нужно realtime поведение, то у него есть алгоритмы/структуры с амортизацией

Alexey
19.07.2017
11:59:37
Что значит иммутабельные?

Evgeniy
19.07.2017
12:03:11
Что значит иммутабельные?
Это от английского immutable, неизменяемые. https://fsharpforfunandprofit.com/posts/correctness-immutability/

Alexey
19.07.2017
12:03:34
Благодарю!

Anton
19.07.2017
12:10:10
Подцеплен!

Evgeniy
19.07.2017
12:10:57
Anton
19.07.2017
12:11:23
В моём уютном Rider'е всё подцеплено =)

Evgeniy
19.07.2017
12:11:46
Anton
19.07.2017
12:12:24
Вопрос был про работу R в F#. И я утверждаю - работает на ура.

Evgeniy
19.07.2017
12:12:51
Anton
19.07.2017
12:12:57
А

Google
Anton
19.07.2017
12:13:11
иногда русский запутывает

Evgeniy
19.07.2017
12:13:11
Я недавно пытался настроить RProvider в Azure Notebooks.

Anton
19.07.2017
12:15:03
Azure Notebooks забавная вещица - но всё же лагающая. Пока что предпочту писать кодец у себя в IDE

Ну и итерпретированность меня не забавляет. Запускать мой кодец по F5 весь и полностью как-то для меня по проще.

но это ИМХО

Я вчера побаловался минут 15 с fsi в Райдере и забил =)

Но нашел интересный момент: оно в fsi не требует у Xplot и R либ вызова метода на рендер в конце.

Evgeniy
19.07.2017
12:17:53
Ну и итерпретированность меня не забавляет. Запускать мой кодец по F5 весь и полностью как-то для меня по проще.
Azure Notebooks про другое. Оно скорее нужно для создания полноценных документов, например туториалов.

Anton
19.07.2017
12:17:53
для кода собранного в конце следует писать Chart.Show или R.print

и обидно, что почти нигде не пишут про R.print и Chart.Show

я по чистой случайности на это наткнулся.

попривыкали в своих fsx писать =)

выполняя через fsi

Evgeniy
19.07.2017
12:20:35
Привет!

Anton
19.07.2017
12:20:47
Вот на сайте FSharpRProvider ни слова про R.print

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