
Dany
26.09.2018
15:25:36

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

Klei
26.09.2018
15:27:34

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

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 [] ?

Roman
26.09.2018
20:25:04

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

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 никакого сахара нет?

Roman
26.09.2018
20:34:43

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

Roman
26.09.2018
20:34:48

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

Roman
26.09.2018
20:35:14

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

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