Я пытаюсь создать модуль в F #, где мне нужно иметь некоторые типы, состоящие из массива некоторого типа arbirary и с som произвольной длиной.Обработка произвольных массивов F #
, чтобы прийти с примером, скажем, мне нужно сделать модуль для произвольных больших векторных вычислений.
тогда моя идея
module Vector =
type Vector = V of array<_>
let (+) (v1:Vector) (v2:Vector) = Vector.map2 (+) V1 V2
, но это не работает, потому что функция map2 не declaret векторов еще и это вопрос, как я могу объявить функцию map2 для нового типа с тем же proberties ad array?
У меня возник еще вопрос о обработке произвольных массивов. Я хочу создать другой тип, который имеет тип «массив массивов» Я тестировал массив2D и обнаружил, что работать с ним гораздо медленнее. (последовательности последовательностей) Я должен иметь свойство, что все внутренние массивы имеют одинаковую длину, но я думаю, что могу справиться самостоятельно. Но я не могу найти произвольный способ для обозначения массива массивов при объявлении типа. я пытался что-то вроде типа Matrix = M массива> –
kam
СРЮ для комментария выше я получил еще один вопрос об обработке произвольных массивов. Я хочу создать другой тип, который имеет тип «массив массивов», который я тестировал array2D, и обнаружил, что работать с ним гораздо медленнее. (последовательности последовательностей) Но я не могу найти произвольный способ для обозначения массива массивов при объявлении типа. Я пытался что-то вроде типа Matrix = M массива> или Тип матрицы <'a,'b> = M массива <'a,'b> (или <'a><'b>) но ВСЕГДА возвращается один одномерный массив. –
kam
@kam Я думаю, что лучше для вас и сообщества, если вы отправляете свои вопросы индивидуально. Вы получите больше видимости, чтобы другие люди могли ответить, кто может иметь лучшее решение, чем я. – Gustavo