discriminated-union

    1

    2答えて

    いくつかの座標をキーで参照するために、すべての種類の効率的なパターンマッチングを可能にするため、識別された共用体を使用したいと考えました。 はfollwoingコードsnipetを考えてみましょう: [<CustomEquality; CustomComparison>] type Coord = | Spot of AssetKey | Vol of AssetKey * DateTime

    13

    3答えて

    を区別 type Color = | Red = 0 | Green = 1 | Blue = 2 を何パフォーマンス、使用法などの主な違いは何ですか?あなたは何を使うべきかについての示唆を持っていますか?

    6

    2答えて

    を階層C#クラス対組合を区別: public abstract class A ... public class B : A ... public class C : A ... void my_fct(A x) { if (x is B) { block_1 } else if (x is C) { block_2 } else { block_3 } }

    0

    3答えて

    I持っている2つのネストされた差別組合: type ServiceTypes = | Contexts | Context of int | Producers type ServiceActions = | Get of ServiceTypes | Update of ServiceTypes とネスト一致ステートメント: let s_

    4

    3答えて

    差別化されたユニオンにメソッドとプロパティを追加することは可能ですが、レコードのフィールドと同様に、インスタンスがユニオンが作成されたときに設定する必要がある不変フィールドを追加できますか? type union = | OptionOne of int | OptionTwo of string { AFieldUsedForBothCases : st

    6

    3答えて

    区別された共用体でletバインディングが許可されないのはなぜですか?私は、バインディングがデフォルトのコンストラクタで実行されていることと関係があると想定していますか? 私がAI_Chooseをどのように書き換えることができるかについての二次的なご意見は、高く評価されます。私はAIとタプルで重み付けされた優先順位を維持したい。私の考えはAI_Weighted_PriorityがAI_Priorit

    5

    2答えて

    私はF#の初心者です。私はFParsecで遊んでいます。 FParsecを使用してASTを生成します。 FsUnitを使ってパーサのさまざまな部分についていくつかのテストを書いて、正しく動作させるようにしたいと思います。 私は文法に少し問題があります(申し訳ありませんが、正確なコードは、後で具体的な例を掲載することができます)ので、2つの弁別された組合実結果)?誰かがFsUnit(またはNUnit

    7

    3答えて

    私は、識別されたユニオンであるASTタイプに文字列をパーズするF#プログラムを作成しています。 fsi(Mono + Mac OS X上)を使用してコードを実行すると、ASTが素敵な形式で印刷されます。しかし、printfn "%s" <| ast.ToString()を使うと、FSI_0002.Absyn+clazzのようなものが得られます。すべての識別された共用体型のためにToStringメソ

    2

    3答えて

    のは、私は重要なクラス階層があるとしましょう: Tag ControlFlowTag IfTag ForTag JumpTag HTMLTag DivTag と私は、これらとの文字列が点在リストを作りたいです。 let MyList = [tagA, tagB, "some text", tagC] は、と私はそれが typ