8
ответов

Дизъюнктное объединение в C#

[Примечание: Этот вопрос имел оригинальное название "C (выход) объединение стиля в C#", но поскольку комментарий Jeff сообщил мне, по-видимому, эту структуру называют 'дизъюнктным объединением'] Оправдание многословие этого...
вопрос задан: 23 May 2017 11:33
5
ответов

Как я могу копировать тип дизъюнктного объединения F# в C#?

Я создал новый класс под названием Агент, который обрабатывает сообщения, переданные ему. Проблема, с которой я сталкиваюсь, выясняет то, что является самым изящным способом передать связанные но различные сообщения...
вопрос задан: 24 February 2010 16:30
3
ответа

Дизъюнктное объединение и позволило привязке?

Почему привязка, которой позволяют, не разрешена в дизъюнктном объединении? Я предполагаю, что это имеет отношение к привязке, которой позволяют, выполняемой в конструкторе по умолчанию? На вторичной ноте любые предложения о том, как я мог...
вопрос задан: 23 February 2012 20:31
3
ответа

Дизъюнктные объединения могут относиться друг к другу?

Я создаю дерево выражений с помощью дизъюнктных объединений. Ниже кода: введите IntExpression = |, TrueIsOne BoolExpression вводят BoolExpression = | LessThan IntExpression *...
вопрос задан: 23 July 2010 07:10
3
ответа

Общие случаи в дизъюнктных объединениях F#

Я хочу записать что-то вроде этого: введите NumExp = Цифра типа плавающего Exp = | Цифра плавания | Точка NumExp * NumExp | Op строки * Exp *, Exp позволяют getValue (Цифра (n): NumExp) = n...
вопрос задан: 8 July 2010 11:00
2
ответа

Дискриминационный союз - разрешить сопоставление с образцом, но ограничить конструкцию

У меня есть F # Дискриминационный Союз, где я хочу применить некоторую «логику конструктора» к любым значениям, используемым при создании случаев объединения. Допустим, объединение выглядит так: type ValidValue = | ValidInt ...
вопрос задан: 17 January 2019 15:41
2
ответа

Можно ли установить значения по умолчанию для типов дискриминационного союза?

Я применил тип дискриминационного союза, который будет использоваться для выбора функции: type BooleanCombinator = | Все | Некоторые | Нет | AtLeast of int | MoreThan of int | Не более чем ...
вопрос задан: 14 July 2018 00:10
1
ответ

Схема типа общего типа в машинописном тексте [дубликат]

Я хочу создать тегированную схему входных и выходных типов для функции, поэтому, если тег передается в функцию, он будет выводить типы ввода и вывода. Вот пример: type Aa = {...
вопрос задан: 9 July 2018 14:49
1
ответ

Haskell, “получающий шоу” в F#?

В Haskell легко сделать алгебраический тип/дизъюнктное объединение "визуализуемым" как строка путем простого добавления получающий Шоу к определению типа. В F# я заканчиваю тем, что писал вещи как: введите Pos =...
вопрос задан: 13 November 2014 15:17
1
ответ

Scrap Your Boilerplate in f#

I've used the Scrap Your Boilerplate and Uniplate libraries in the Haskell programming language, and I would find that form of generic programming over discriminated unions to be really useful. Is ...
вопрос задан: 29 August 2010 21:40
1
ответ

Каково Перечисление. GetName, эквивалентный для члена профсоюза F#?

Я хочу получить эквивалент Перечисления. GetName для участника дизъюнктного объединения F#. Вызов ToString () дает мне TypeName+MemberName, который не является точно, что я хочу. Я мог подстрока это, конечно...
вопрос задан: 11 August 2009 12:42
0
ответов

Котлин и дискриминационные союзы (типы сумм)

Есть ли у Котлина что-то похожее на дискриминационные союзы (типы сумм)? Каким будет идиоматический перевод этого слова на Котлин (F #): type OrderMessage = | Новый идентификатор: int * Количество: int | Отмена ...
вопрос задан: 2 November 2016 00:21
0
ответов

Сжатое сопоставление с образцом на единственном распознаваемом объединении в F #

Скажем, у меня есть следующий единый различный регистр объединений: type OrderId = OrderId строки В какой-то момент мне нужна фактическая строка. Я нашел способ извлечения: let id = match orderId ...
вопрос задан: 3 September 2012 21:02
0
ответов

Почему None представлен как null?

CompilationRepresentationFlags.UseNullAsTrueValue может использоваться для разрешения использования null в качестве представления нулевых дискриминаторов в размеченном объединении. Option.None является наиболее известным...
вопрос задан: 14 August 2012 20:34
0
ответов

Идиоматический способ представления типа суммы (либо ab) в Clojure

Отредактировано. Теперь мой вопрос: какие идиоматические конструкции Clojure обычно используются вместо типов суммы в языках со статическими типами? Пока консенсус: используйте протоколы, если поведение можно унифицировать, используйте...
вопрос задан: 14 June 2012 17:25
0
ответов

Назначение единичного размеченного объединения

Я определяю монадический наблюдаемый/реактивный синтаксический анализатор. Это ведет себя совершенно иначе, чем обычный анализатор, поскольку это непрерывный запрос. Базовым типом является :IObservable<'a> -> IObservable<'b&...
вопрос задан: 16 April 2012 18:53
0
ответов

Enum и не-членное дискриминируемое объединение

Я только что заметил, что есть лишь небольшая разница в объявлении не-членного дискриминируемого объединения: type Color = | Красный | Зеленый | Blue и объявление перечисления: type Color = | Red = ...
вопрос задан: 4 February 2012 23:53
0
ответов

Равны ли алгебраические типы данных в Haskell дискриминируемым объединениям в F #?

Я изучаю Haskell и хотел бы знать, являются ли конструкции, известные в Haskell, как алгебраические типы данных те же, что различают объединения в F #, или есть некоторые тонкие различия между ...
вопрос задан: 16 November 2011 06:52
0
ответов

Печать F# discriminated union

Я пишу программу F#, которая разбирает строку на тип AST, который является дискриминируемым союзом. Когда я использую fsi (в Mono + Mac OS X) для выполнения своего кода, AST распечатывается в красивом формате. Но когда ...
вопрос задан: 17 September 2011 02:36
0
ответов

Сравнивая дискридированные союзы

Я новичок в F #, и я играю с FPARSEC. Я бы использовал FPARSEC для создания AST. Я хотел бы использовать FSUNIT, чтобы написать некоторые тесты вокруг различных частей парсера, чтобы обеспечить ...
вопрос задан: 14 September 2011 23:52
0
ответов

F # Дискриминированные профсоюзы по сравнению с иерархиями классов C #

У меня есть следующий код: общественный абстрактный класс A ... Открытый класс B: A ... Открытый класс C: A ... void my_fct (a x) {if (x is b) {block_1} else, если (x is c) {block_2} else ell {block_3} } ...
вопрос задан: 7 September 2011 15:38
0
ответов

Использование ключевого слова and в F # в дискриминируемых объединениях

Сегодня я столкнулся со следующими объявлениями DU: type Grammar = Definition list and Definition = Def of string * Выражение и диапазон = | Char of char | Диапазон char * char Почему ...
вопрос задан: 22 August 2011 22:36
0
ответов

Как перечислить дискриминированный союз в F #?

Как я могу перечислить через возможные «значения» различаемого объединения в F #? Я хочу знать, есть ли что-то вроде Enum.GetValues ​​(Type) для дискриминируемых союзов, хотя я не уверен ...
вопрос задан: 9 August 2011 13:42
0
ответов

Типобезопасные размеченные объединения в C #, или: Как ограничить количество реализаций интерфейса?

Во-первых, извините за объемный пост. По сути, мой вопрос таков: я пытаюсь воспроизвести следующий дискриминированный тип объединения F # в C #: type Relation = | Меньше чем obj * obj | ...
вопрос задан: 12 March 2011 14:04