Size: a a a

2021 January 13

g

gsomix in F# Chat
Prunkles Dreemurr
Ну например map, тоже не меняет размер массива
Array.map меняет тип элемента в общем случае.
источник

g

gsomix in F# Chat
@Prunkles Нужен мотивационный пример!
источник

VZ

Vlad Zaa in F# Chat
Igor
Тебе потом все эти фичи поддерживать 😌
Ну с таким подходом можно сказать что 50% всех фич компилятора не нужны, потому что сложно подджерживать
источник

VZ

Vlad Zaa in F# Chat
Можно CE выкинуть, это сахар.
источник

I

Igor in F# Chat
Я почти уверен что Дон с удовольствием бы выкинул пол компилятора, но обратная совместимость обязывает
источник

PD

Prunkles Dreemurr in F# Chat
Мне кажется, что было бы здорово, если бы Array переименовали в MutArray, и все функции в модуле MutArray мутировали бы переданные массив и пайпили бы его далее. А в просто Array (или же переименовать по саджешнам выше) уже создавать новый
Жаль, что из-за обратной совместимости это будет вероятно невозможно
источник

g

gsomix in F# Chat
Prunkles Dreemurr
Мне кажется, что было бы здорово, если бы Array переименовали в MutArray, и все функции в модуле MutArray мутировали бы переданные массив и пайпили бы его далее. А в просто Array (или же переименовать по саджешнам выше) уже создавать новый
Жаль, что из-за обратной совместимости это будет вероятно невозможно
Все еще непонятно, о каких функциях речь.
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
Все еще непонятно, о каких функциях речь.
map, choose, и подобные (их оказалось не так много, как я думал)
источник

g

gsomix in F# Chat
Ayrat Hudaygulov
А можно магией превратить фшарп рекорд в сишарп рекорд? Там по-любому какой-то атрибут или чот
источник

g

gsomix in F# Chat
Prunkles Dreemurr
map, choose, и подобные (их оказалось не так много, как я думал)
И что должен choose возвращать?
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
И что должен choose возвращать?
Ну конечно же мутировать переданный массив, и потом вернуть его же для возможности пайпинга!
источник

g

gsomix in F# Chat
Prunkles Dreemurr
Ну конечно же мутировать переданный массив, и потом вернуть его же для возможности пайпинга!
Что делать, когда chooser выдает None?
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
Что делать, когда chooser выдает None?
Не инкрементировать индекс перезаписи массива.
То есть, например:
let src: MutArray = [| 1; 1; 2; 1; 4; 0 |]
MutArray.choose (fun x -> if x % 2 then Some (x + 1) else None) src
> src // [| 3; 5; 1 |]
источник

I

IdiocyAcceptance in F# Chat
gsomix
@Prunkles Нужен мотивационный пример!
ну я вижу пока что-то вроде map record -> record
источник

I

IdiocyAcceptance in F# Chat
хотя опять же, не ясно зачем делать иммутабельные рекорды, чтобы потом иметь мутируемый массив
источник

I

IdiocyAcceptance in F# Chat
легче уже тогда всё мутабельное
источник

g

gsomix in F# Chat
@Prunkles Я просто напомню, что в .NET массивы не ресайзятся.
источник

I

Igor in F# Chat
IdiocyAcceptance
хотя опять же, не ясно зачем делать иммутабельные рекорды, чтобы потом иметь мутируемый массив
(Имутабельные) Рекорды можно недеструктивно мутировать
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
@Prunkles Я просто напомню, что в .NET массивы не ресайзятся.
А, ну тогда земля пухом
Можно было бы в отдельный тип вывести, но толку
источник

I

IdiocyAcceptance in F# Chat
Prunkles Dreemurr
А, ну тогда земля пухом
Можно было бы в отдельный тип вывести, но толку
ну List (ResizeArray) есть
источник