@Fsharp_chat

Страница 731 из 772
Andrew
26.09.2018
15:26:18
Всем привет) Можно как то сделать алиас на другой тип и требовать чтобы его передавали именно явно как этот тип? Например type PlainString = string type ExtendedString = string type BinaryString = string И чтобы в тех местах где я в функциях явно прпнимаю PlainString нужно было передавать не "123" а PlainString "123" ?

Google
Andrew
26.09.2018
15:29:19
Точно, забыл про них

Спасибо)

Изящный лайфхак

Klei
26.09.2018
15:32:17
Изящный лайфхак
Но если требуется валидация, то лучше прибегнуть к ООП. Пример в пункте REPRESENTING ILLEGAL STATE в https://eiriktsarpalis.wordpress.com/2017/03/20/why-oo-matters-in-f/

アレクセイ
26.09.2018
16:50:02
Ничего не понял

Roman
26.09.2018
18:30:51
Привет!

Vitёk
26.09.2018
18:31:34
Приветствую всех!

Andrew
26.09.2018
18:32:16
Klei
26.09.2018
18:33:08
Single case active pattern?)
Не думаю, что есть подобный термин, но типа да.

Andrew
26.09.2018
18:33:36
Да, я просто только что его придумал, чтобы описать это

Klei
26.09.2018
18:34:51
Вроде бы если разбивка детерменированна и существует в единственном экземпляре, то ее можно просто называть деконструктором.

Grigoriy
26.09.2018
20:03:33
Приветствую!

Google
Andrew
26.09.2018
20:24:50
А почему если я хардкодю массив, то его тип не int array например, а int * int * int [] ?

Andrew
26.09.2018
20:25:28
Кажется вопрос отпал..

Когда переписывал с си запятые не поменял

Roman
26.09.2018
20:25:37
Точка с запятой?)

Andrew
26.09.2018
20:25:37
На ;

Да

Мда :D

Grigoriy
26.09.2018
20:25:44
:)))

Andrew
26.09.2018
20:25:58
Оно его как кортеж в массиве считает чтоли?

Roman
26.09.2018
20:26:05
Ага

Andrew
26.09.2018
20:26:13
Я думал скобки нужны для кортежей

Roman
26.09.2018
20:26:28
Массив это [| 1;2;1;2|]

А [1;2;3;1;2] это односвязный список

На всякий случай уточняю)

Maksym
26.09.2018
20:28:27
seq?

Roman
26.09.2018
20:28:42
ResizeArray?

List<T> из с#?

Maksym
26.09.2018
20:29:25
Google
Andrew
26.09.2018
20:30:13
Массив это [| 1;2;1;2|]
Да, у меня через пайпы

seq?
Это IEnumerable<T>

Vasily
26.09.2018
20:30:33
Вектор вроде же и есть односвязный массив

Или я ошибаюсь?

Roman
26.09.2018
20:31:31
Или я ошибаюсь?
Ошибаешься)

+
Для него нет литерала в f# вроде

Но можно написать билдер)

Типа того же seq

list { 1..10 }

Обычно он редко нужен.

Vasily
26.09.2018
20:33:07
Хмм

Надо почитать,шо есть вектор

Как структура данных

Igor
26.09.2018
20:34:06
А для Dictionary никакого сахара нет?

Andrew
26.09.2018
20:34:44
Если мы "инкапсулируем" какие то значения внутри функции, они ведь оптимизируются?

Andrew
26.09.2018
20:35:03
Ну типо не при каждом вызове создаются?)

Google
Andrew
26.09.2018
20:35:24
Допустим что то такое let func b = let a = [1; 2; 3] ...

Roman
26.09.2018
20:35:43
А дальше?

Andrew
26.09.2018
20:35:56
Ну а дальше a используется каким то образом

Roman
26.09.2018
20:36:07
func это значение

Тут

Andrew
26.09.2018
20:36:14
Блин

Исправил

Roman
26.09.2018
20:36:38
Так, а теперь в чем вопрос?)

Andrew
26.09.2018
20:36:40
Суть ведь не в этом

Я спрашиваю при каждом вызове функции a будет заново создаваться, или это оптимизируется?

Vasily
26.09.2018
20:36:59
Пока вопрос неясен, конечно

Если ты про мемоизацию,ее не будет

В данном случае

Andrew
26.09.2018
20:37:40
Пошел гуглить что такое мемоизация

Igor
26.09.2018
20:38:02
Есть вроде
Хм, что-то map {} сходу не находится

Andrew
26.09.2018
20:38:07
Я просто пытаюсь понять как мне скрыть ненужные внешнему глазу let из скоупа модулей в скоуп функций

Vasily
26.09.2018
20:38:20
А так ты можешь код этот вынести выше

Roman
26.09.2018
20:38:44
Vasily
26.09.2018
20:38:46
Типа let a=[2;3]

Andrew
26.09.2018
20:38:56
Google
Andrew
26.09.2018
20:38:59
Мне не нравится что он в модуле

Roman
26.09.2018
20:39:02
Там ф-ция create должна быть поидее

Andrew
26.09.2018
20:39:04
Типо виден всем

Кто подключил модуль

А он нужен только внутри 1 функции

Roman
26.09.2018
20:39:18
Ааа

Vasily
26.09.2018
20:39:19
Privatw

let private a...

Andrew
26.09.2018
20:39:51
let private?

Не знал, что это есть в модулях

Спасибо)

Vasily
26.09.2018
20:40:06
Есть конечно

Ещё есть файлы сигнатур модулей

Andrew
26.09.2018
20:52:17
Есть какой то изящный способ сделать шифт массива?

Типо сдвинуть все элементы циклически

На определенный N

Я щас подумал что можно смапить

Roman
26.09.2018
20:53:00

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