@Fsharp_chat

Страница 88 из 772
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
Nikolay
01.05.2017
18:22:59
open Types ?
Хмм, я пробовал с неймспейсом указать, не прокатило

Может если в одном неймспейсе, то не нужно его указывать

option обязательно нужно указать, печаль

Для записей

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

Летучая
01.05.2017
18:30:45
А для модуля нельзя как-нибудь прописать open? Чтобы не писать Types.Update, а просто Update
open МодульНейм, если в том же неймспейсе если в другом, то вроде open NamespaceName.ModuleName Ещё есть такое: [<AutoOpen>] module ModuleName

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

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

Klei
01.05.2017
18:32:43
На SO говорят это не тру вэй
Оба варианта или только дефолтная запись?

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-шок). Но может есть что поудобней?

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
http://fsharplang.ru/
У меня так и не заработало

Андрей
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

никто не хочет ip выдавать
@merzavets @troyanov спасибо, вы очень помогли.

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
let rec fib n a b = match n with | 0 -> a | 1 -> b | _ -> fib (n - 1) b (a + b) как можно сократить?
ну.. или.. let fact = let rec fact' f = function | 1 -> f 1 | n -> fact' (f>>((*)n)) (n-1) fact' (fun x->x)

Летучая
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 для наглядности

одностроник не нужен , но мне кажется что let rec fib = function | 0 | 1 -> 1 | n -> fib (n-1) + fib (n-2) выглядит лучше
я говорю только про внешнюю привлекательность кода, @Worldbeater твой код конечно более логичный

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, как тут, а цельный агрегат.

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