Результаты поиска по запросу "f#"
абстрагирование валидации в Scala, F # и C #, которая в данный момент застряла в очереди модератора. Сравните отвратительную версию кода на C #. И причина в том, что C # не обобщен. Я интуитивно ожидаю, что шаблон для конкретного случая C # будет взорваться геометрически по мере роста программы.
граммист Scala, сейчас изучаю Haskell. Легко найти примеры практического использования и примеры из реальной жизни для концепций ОО, таких как декораторы, шаблоны стратегий и т. Д. Эти книги заполнены. Я пришел к выводу, что это как-то не так ...
Пример кода, который вы опубликовали, не совсем хороший, потому что в этом нет необходимости во взаимоотношениях - вы можете изменить порядок. (Если не было еще нескольких типов, определенных ниже, которые зависели от вышеупомянутого).
ня я столкнулся со следующими декларациями DU: type Grammar = Definition list and Definition = Def of string * Expression and Range = | Char of char | Range of char * charЗачем использовать ключевое словоand вместоtype, Вот?
Так что это не является хвостовой рекурсивной безопасностью в F #, но делает мой ответ ответом и избегает List.rev (это уродливо иметь доступ к двум элементам кортежа и было бы более подходящим, чем подход cps в противном случае, я думаю , как если бы мы только вернули первый список):
исал эту функцию F #, чтобы разделить список до определенной точки и не дальше - очень похоже на нечто среднее междуtakeWhile а такжеpartition. let partitionWhile c l = let rec aux accl accr = match accr with | [] -> (accl, []) | h::t -> if c h ...
Вы сказали, что «переданная функция может работать с этими типами», тогда параметром функции должен быть либо базовый класс, либо объект, либо какой-то интерфейс, который реализует оба типа в кортеже
ли причина, по которой я могу использовать универсальную функцию с аргументами другого типа, когда я передаю ее как локальное значение, а не как параметр? Например: let f = id let g (x,y) = (f x, f y) g ( 1, '2')работает нормально, но если ...
Каким образом в функциональном программировании достигается неразрушающее манипулирование коллекциями с эффективным использованием памяти?
Я пытаюсь понять, как неразрушающее манипулирование большими коллекциями реализуется в функциональном программировании, т.е. как можно изменять или удалять отдельные элементы, не создавая совершенно новую коллекцию, в которой все элементы, даже ...
Почему понизить? Что не так в моем ответе?
озникло во время разговора с другом, и я подумал спросить здесь, потому что это интересная проблема и хотел бы увидеть решения других людей. Задача состоит в том, чтобы написать функцию Brackets (int n), которая печатает все комбинациихорошо ...
Как мне работать с IEnumerable в F #?
Существует довольно много устаревших интерфейсов, которые получают коллекции сущностей в форме простогоIEnumerable, Обычно можно сделатьforeach(CertainTypeWeSureItemIs item in items) в C # приведение объектов к любому типу, который они хотят, как ...
Поставщик типа F # - «возвращать только сгенерированные типы»
Попытка закодировать числа peano уровня типа с помощью провайдера типов: namespace TypeProviderPlayground open System open Microsoft.FSharp.Core.CompilerServices open System.Runtime.CompilerServices [<assembly: TypeProviderAssembly()>] do() type ...
Объяснение сопоставления с моделью
Я пытался объяснить разницу между утверждениями переключателя и сопоставлением с образцом (F #) нескольким людям, но я действительно не смог объяснить это хорошо ... большую часть времени они просто смотрят на меня и говорят "так почему не просто ...
Самый идиоматичный способ написания пакетов размера seq в F #
Я пытаюсь выучить F #, переписав некоторые алгоритмы C #, которые у меня есть, в идиоматический F #. Одной из первых функций, которые я пытаюсь переписать, является пакет, где: [1..17] |> batchesOf 5Который разделил бы последовательность на ...