
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
кроме как участник

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

Vlad
29.07.2017
06:59:51

Evgeniy
29.07.2017
07:15:26

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
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

Kirill
29.07.2017
15:02:54

Evgeniy
29.07.2017
15:06:20

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

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.

Friedrich
29.07.2017
15:46:11

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

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

Google

Vlad
29.07.2017
15:47:56

Friedrich
29.07.2017
15:48:19

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
Вот такая фигня: