@Fsharp_chat

Страница 246 из 772
Aleksander
28.07.2017
18:59:31
соседи?)

Evgeniy
28.07.2017
18:59:51
соседи?)
Пожалуй, я тоже из Самары.

Aleksander
28.07.2017
19:00:14
Аэрокос?

Evgeniy
28.07.2017
19:01:14
Аэрокос?
Угу, в аспирантуре учусь.

Google
Aleksander
28.07.2017
19:03:17
а я когда-то давно оттуда выпустился :)

Vlad
28.07.2017
19:06:05
Да, переводить оказалось немного сложнее, чем я думал.
я тут понял, что не знаю перевода "contributor"

кроме как участник

Roman
28.07.2017
23:15:18
Поставщик?

Friedrich
29.07.2017
06:14:46
По смыслу можно перевести по-разному: например, «соучастник» или «помощник». Ну или, в конце концов, «человек, внёсший вклад».

Vlad
29.07.2017
06:29:18
Участник проекта, как вариант

Vasily
29.07.2017
06:45:29
Вообще,подобного рода слова,имхо,передавать как есть

Переводить

Nikolay
29.07.2017
06:51:19
В F# option разве может быть null?

Чёт через FSI так и не получилось сделать её null

Evgeniy
29.07.2017
07:15:26
В F# option разве может быть null?
А где пишут, что может?

Nikolay
29.07.2017
07:16:21
Google
Nikolay
29.07.2017
07:16:28
Не знаю, может дебаггер кривой

Friedrich
29.07.2017
07:20:30
None часто (всегда?) представляется как null.

Nikolay
29.07.2017
07:23:29
None часто (всегда?) представляется как null.
> let instance = Activator.CreateInstance(tp);; val instance : obj = {A = None;} > instance;; val it : obj = {A = None;} > let tpInfo = instance.GetType().GetTypeInfo();; val tpInfo : TypeInfo = FSI_0009+Test > let prop = tpInfo.GetProperties().[0];; val prop : PropertyInfo = Microsoft.FSharp.Core.FSharpOption`1[System.Int32] A > prop.SetValue(instance, null);; val it : unit = () > instance;; val it : obj = {A = None;};

Ну хз

Friedrich
29.07.2017
07:24:13
Вроде как, это подтверждает мои слова?

Nikolay
29.07.2017
07:24:46
Но почему в моём случае он подставился как null?

тут

Vlad
29.07.2017
07:36:48
Там на самом деле none

Я с этим сидел один раз пару часов и не вдуплял происходящего

Nikolay
29.07.2017
07:37:42
Vlad
29.07.2017
07:41:23
А черт знает, я помню что мне @gsomix сказал тогда что это норма

Evgeniy
29.07.2017
07:53:51
Баг ionide?
Особенность отладчика, заточенного на C#.

None действительно преобразуется в null при компиляции, для более простого и понятного интеропа.

Nikolay
29.07.2017
08:00:19
А как лучше сделать маппинг Dictionary<string, object> в record? В качестве ключа имя property/field

Reflection?

Evgeniy
29.07.2017
09:14:25
F# Weekly #31, 2017 – All new Microsoft. Loves Open Source. https://sergeytihon.com/2017/07/29/f-weekly-31-2017-all-new-microsoft-loves-open-source/

Nikolay
29.07.2017
10:02:32
А кто-нибудь пробовал .Net Core с C# и F# в разных проектах?

У меня dotnet build собирает нормально, но VSCode с ума сходит. Я же правильно понимаю, что для использования FSharp.Reflection в C# нужно в Sdk прописать FSharp.NET.Sdk;Microsoft.NET.Sdk, добавить FSharp.Core и FSharp.NET.Sdk в референсы?

Может кто-нибудь попробовать dotnet run в Tests сделать? https://yadi.sk/d/pQrBOA_W3LXM8L

Evgeniy
29.07.2017
13:56:29
Google
Evgeniy
29.07.2017
13:56:36
https://pastebin.com/efquDhvc

Nikolay
29.07.2017
13:56:58
Да, уже заработало)

Какой-то странный косяк был

Пока bin/obj не удалил, не работало

Evgeniy
29.07.2017
13:57:20
Да, уже заработало)
Ты бы сразу сюда писал. :)

Nikolay
29.07.2017
13:57:28
Писало, что найти сборку не может)

Да забыл блин)

Летучая
29.07.2017
14:10:37
Kirill
29.07.2017
14:14:16
*не работает

Evgeniy
29.07.2017
14:41:41
dotnet restore не ругается? Покажи fsproj.

Летучая
29.07.2017
14:41:45
Используешь студию 2017 Update 3 Preview 5?

Так вот, коре даже там не поддерживается. Собирать может, но интеллисенс туда еще не завезли.

Kirill
29.07.2017
14:42:09
vs code + packet

2017 пробовал, но там печально, да

Летучая
29.07.2017
14:42:46
А. Тогда не знаю, с nuget+ionide vscode из коробки работает.

Kirill
29.07.2017
14:46:14
сейчас посмотрел автосгенерированный пэкетом fsproj и подумал, что может таргет фрэймворк не совпадать

Летучая
29.07.2017
14:47:03
netcoreapp1.1

Evgeniy
29.07.2017
15:00:48
vs code + packet
Все работает.

Kirill
29.07.2017
15:02:54
Все работает.
а как fsproj выглядит?

Evgeniy
29.07.2017
15:06:20
а как fsproj выглядит?
https://pastebin.com/QDREGNC9

Google
Kirill
29.07.2017
15:08:19
у меня после автогенерации тысяча строк, попробую-ка руками заново создать

Evgeniy
29.07.2017
15:11:46
Из nuget конвертируешь?

Я просто руками с нуля создал.

Kirill
29.07.2017
15:12:31
Ctrl+Shift+P > F#: New Project

обычно я тоже руками, но почему-то решил так попробовать

Evgeniy
29.07.2017
15:27:45
Ctrl+Shift+P > F#: New Project
Оно же не .Net Core проект создает.

Kirill
29.07.2017
15:34:50
да, я ввёлся в заблуждение -__-

Evgeniy
29.07.2017
15:38:46
да, я ввёлся в заблуждение -__-
Если нужен готовый проект, то я могу поделиться.

Kirill
29.07.2017
15:39:14
было бы хорошо

а то я выпал из контекста актуальных версий и зависимостей

Evgeniy
29.07.2017
15:41:51
Секунду.

.paket/paket.exe install dotnet restore dotnet build dotnet run

Kirill ^

Kirill
29.07.2017
15:44:49
спасибо

Friedrich
29.07.2017
15:45:19
И помните! Не запускайте бинарники, которые вам прислали дяди из интернетов! Проверяйте их аутентичность!

Evgeniy
29.07.2017
15:46:02
Хм, у меня там бинарники paket.

Evgeniy
29.07.2017
15:47:10
NUnitLite устанавливает Program.cs и Program.vb, а Program.fs не устанавливает.

Kirill
29.07.2017
15:47:11
хм... выглядит аутентично

Google
Friedrich
29.07.2017
15:48:19
md5 хеши прикладывать надо?)
Если происхождение хэша то же самое, что происхождение бинарника, то какой в этом смысл?

Vlad
29.07.2017
15:48:37
тогда никакого, да

Friedrich
29.07.2017
15:49:03
Не, я, конечно, верю, что дядя @gsomix ничего плохого тут людям не раздаёт. Но напомнить об информационной безопасности никогда лишним не будет!

Vlad
29.07.2017
15:50:02
Помню в шарпочате пришел дядя и сказал, что в зип архиве игра и ее надо потестить. Таким дядям лучше не доверять, да

Friedrich
29.07.2017
15:50:34
Paket можно безопасно скачивать по HTTPS со странички релизов гитхаба (это даёт гарантию, что выложили действительно авторы), ну или из choco (там SHA256 проверяется).

Ну и из Нугета тоже, конечно.

Evgeniy
29.07.2017
15:51:50
И у гсомека. ;)

Friedrich
29.07.2017
15:51:58
.\ _ /.

Nikolay
29.07.2017
16:00:11
В общем как-то так получилось: let dbPerson = sqlQuery<Person> """select Persons.*, PersonQuotes.Id Quotes_QuoteId, PersonQuotes.Text Quotes_Text, PersonQuotes.PersonId Quotes_PersonId from Persons join PersonQuotes on PersonQuotes.PersonId = Persons.Id where Persons.Id = @Id""" (Some [ "Id", box person.Id ]) |> executeSingle

Чутка спёр у Slapper



Вот такая фигня:

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