
Nikolay
01.05.2017
16:46:33
А блин
Это название функции ?

Friedrich
01.05.2017
16:46:48
,3

Nikolay
01.05.2017
16:47:31
Ну чёт мне код не очень нравится

Google

Friedrich
01.05.2017
16:49:29
А тебе, наверное, хочется FSCheck или expect!

Nikolay
01.05.2017
16:57:21
Угу, типа того
Expecto можно, но у него нет интеграции с dotnet test

Pavel
01.05.2017
17:30:23
Консольку напишите, которая тесты запускает, да и всё

Evgeniy
01.05.2017
17:34:30
@Dolfik А зачем нужно именно dotnet test?

Nikolay
01.05.2017
17:35:29
К тому же, везде должно нормально интегрироваться
С вс, например
Ну и вообще, стандарт же типа
Плюс это используют в мс
А для модуля нельзя как-нибудь прописать open? Чтобы не писать Types.Update, а просто Update
И ещё туда же, если в записи есть option, ему обязательно присваивать значение? А то у меня что-то требует, может я где косячу

Roman
01.05.2017
17:53:25
Ещё модно поставить dotnet tools и использовать dotnet watch test

Google

Klei
01.05.2017
18:07:08

Nikolay
01.05.2017
18:22:59
open Types ?
Хмм, я пробовал с неймспейсом указать, не прокатило
Может если в одном неймспейсе, то не нужно его указывать
option обязательно нужно указать, печаль
Для записей

Klei
01.05.2017
18:28:51
Так сделай дефолтную запись, или функцию, если есть обязательные параметры.

Летучая
01.05.2017
18:30:45

Nikolay
01.05.2017
18:31:10
Окей, спасибо

Летучая
01.05.2017
18:31:12
Всё такое

Nikolay
01.05.2017
18:31:42

Klei
01.05.2017
18:32:43

Nikolay
01.05.2017
18:33:02
Дефолт
По функции не понял

Klei
01.05.2017
18:38:37
По функции не понял
Ну допустим запись имеет 2 обычных свойства и 3 опциональных. Создаешь функцию принимающую те 2 свойства в качестве параметров. После чего можно писать нечто вроде:
{ create name age
with
Sex = Male
}
Опциональные поля заполняются None.

Nikolay
01.05.2017
18:43:16
Если я правильно понимаю, то это будет ужасно криво выглядеть
Т.к. запись передаётся в функцию как аргумент, один раз
И больше нигде не используется

Google

Андрей
01.05.2017
18:49:34
Решил познакомиться с F#. Подскажите, пожалуйста, какую IDE-шку для коддинга лучше использовать? Потыкал немножко VS2017 и Rider - обе не понравились (хотя на Rider есть надежды что его допилят до уровня остальных JetBrains-овских IDE-шок). Но может есть что поудобней?

Igor
01.05.2017
18:53:17
Хотя вроде, говорят на Atom или Emac можно запустить, но не уверен.

Evgeniy
01.05.2017
19:00:26
@Mujahit Visual F# Nightly на VS2017 ставил?

Андрей
01.05.2017
19:00:57
Нет. Сейчас поищу

Evgeniy
01.05.2017
19:01:06
https://blogs.msdn.microsoft.com/dotnet/2017/03/14/announcing-nightly-releases-for-the-visual-f-tools/
Там немного получше ситуация должна быть.

Roman
01.05.2017
19:15:21

Андрей
01.05.2017
19:18:56
У некоторых провайдеров DNS-ы могут около суток обновлятся. Не заработает сегодня, так заработает завтра.

Летучая
01.05.2017
19:23:49
Пишу в вс без экстеншонов, вполне норм
Хотя автокомплит так себе
Ну и ещё подсветка синтаксиса обновляется раз в секунд 5

anton
01.05.2017
19:50:19

Serge
01.05.2017
20:01:34
так долго ДНС обновляться не может, парни
C:\Users\Serge>nslookup
Default Server: google-public-dns-b.google.com
Address: 8.8.4.4
> fsharplang.ru
Server: google-public-dns-b.google.com
Address: 8.8.4.4
Name: fsharplang.ru
>
> server 77.88.8.8
Default Server: dns.yandex.ru
Address: 77.88.8.8
> fsharplang.ru
Server: dns.yandex.ru
Address: 77.88.8.8
Name: fsharplang.ru
никто не хочет ip выдавать

anton
01.05.2017
20:07:32
что-то где-то кривовато настроено возможно
https://mxtoolbox.com/domain/fsharplang.ru/

Roman
01.05.2017
20:16:56
И у меня!
Ты говорил у тебя работает) Ты видишь сайт на fsharplang.ru?

anton
01.05.2017
20:18:59
на мобиле не работает сейчас
с ноута работает. там закешило что то правильное видимо

Google

Roman
01.05.2017
20:21:08
я на www CNAME настраивал потом удалил.
@all стоит ли писать теги на английском? Я про issue fsharplang-ru/fsharplang-ru.github.io#6 у нас нет задачи писать все все все на русском, поэтому и спрашиваю)

Max
01.05.2017
20:25:46

Evgeniy
01.05.2017
20:26:05
@neftedollar Сейчас не работает.

Roman
01.05.2017
20:26:37
очень странно, мб это потому что у меня работает? Лимит? xD

Max
01.05.2017
20:27:42
ахах, да-да

Admin
ERROR: S client not available

Roman
01.05.2017
20:29:08
Я понял. Надо оставить толь yandex'овские ns сервера. Почему-то остались ns от хочетра и когда резолвится через яндекс, то все ок, когда через ns сервера регистратора, то там настроек нет и никто не видит нужных ip
let rec fib n a b = match n with
| 0 -> a
| 1 -> b
| _ -> fib (n - 1) b (a + b)
как можно сократить?

Max
01.05.2017
21:22:46

Летучая
01.05.2017
21:26:00
Но это факт
А там фиб

Max
01.05.2017
21:26:26
ой, сплю

Летучая
01.05.2017
21:26:28
1 1 2 3 5 8 13 21

Max
01.05.2017
21:26:43
да, со своих семплов уже не вижу что копирую(

Летучая
01.05.2017
21:26:57
можно в принципе и факториал туда поставить

Google

Roman
01.05.2017
21:26:58
1 1 2 3 5 8 13 21
ну у тебя там более общий ряд задан ты же можешь любые нчальные a b передавать

Летучая
01.05.2017
21:27:05
це так

Roman
01.05.2017
21:27:37
но все же что-то смущает
если убрать общую ф-цию и оставить именно фибоначи?

Летучая
01.05.2017
21:28:55
а можн рили чз function записать как однострочник
хотя тада не влезет

Roman
01.05.2017
21:30:28
одностроник не нужен , но мне кажется что
let rec fib = function
| 0 | 1 -> 1
| n -> fib (n-1) + fib (n-2)
выглядит лучше
ну или можно разнести
| 0 -> 1
| 1 -> 1
для наглядности

Akhmed
01.05.2017
21:32:59
объясните мне один момент пожалуйста если не трудно
меня вот это всегда смущало
type ContactInfo =
| EmailOnly of EmailInfo
| PostOnly of PostInfo
| EmailPost of EmailInfo * PostInfo
хорошо у нас только два значения
и можно добавить целую строчку как комбинацию двух значений
а если бы было три значения?
добавить еще 3 строчки с парой каждого и 4-тую строчку как набор всех трех?
есть более логичное решение?
и того при трех значениях уже 7 строчек - при 4 даже считать не берусь )

Roman
01.05.2017
21:35:48
Всё зависит от задачи конечно, вдруг в твоем примере мооджно просто дополнительные типы ввести и не надо их комбинации.
Но если же все же нужно работать с таким большим кол-вом контактной информации, то надо строить не DTO, как тут, а цельный агрегат.

Летучая
01.05.2017
21:39:53