discriminated-union

    4熱度

    2回答

    我有一個函數,它可以返回不同類型,我使用歧視工會爲此。我需要的是將具有歧視性的工會中的一種類型轉換爲另一種類型。 另外一些類型的可以是可轉換到所有其他類型(字符串),但一些類型的只能被轉換成字符串(MyCustomType) 爲此,我已經添加構件方法的ConvertTo到ResultType: type MyTypes = | Boolean = 1 | Integer =

    3熱度

    2回答

    我期待創造一個場景圖我的F#項目的財產以後這樣的: root ->player_bob -->torch ->enemy_1 -->extravagant_hat -->enemies_cat_jess --->fleas --->fur_ball ->loot 等等,等等。 每個項目需要保存一個遊戲對象的集合來表示它的孩子。 e.g enemy1的列表中包含一隻貓和一頂帽子和

    14熱度

    3回答

    我正在建立使用歧視工會的表達樹。下面的代碼:因爲沒有定義BoolExpression type IntExpression = | TrueIsOne of BoolExpression type BoolExpression = | LessThan of IntExpression * IntExpression | And of BoolExpression

    16熱度

    3回答

    我想要得到相當於Enum.GetName的F#區分聯盟成員。調用ToString()給了我TypeName + MemberName,這不完全是我想要的。當然,我可以將其子串,但它是否安全?或者也許有更好的方法?

    2熱度

    1回答

    我需要將使用F#區分的聯合表示的抽象語法樹保留爲人類可讀的緊湊格式,例如已經在F#語言中使用的格式來構造區分的聯合體,以便以後可以讀回歧視聯合實例。我對F#庫不支持這一點感到有點驚訝,因爲它肯定必須以編譯器和F#交互式的高效方式完成。 是否有任何免費/開放源代碼實現在合理的(但不一定非常有效)的方式做到這一點? 注意:我不想要基於XML的序列化。

    3熱度

    2回答

    我正在嘗試爲由自然語言解析器返回的詞性標記和其他標籤創建歧視聯盟。 在C#/ Java中使用這些字符串或枚舉是很常見的,但歧視聯合在F#中更合適,因爲它們是不同的只讀值。 在語言參考中,我發現這個符號 ``...`` 可以用來分隔關鍵字/保留字。這適用於 type ArgumentType = | A0 // subject | A1 // indirect object | A2 // dire

    6熱度

    3回答

    爲什麼在受歧視的工會中不允許綁定?我認爲它必須與讓綁定在默認構造函數中執行? 在次要記錄中,有關如何重寫AI_Choose的建議將不勝感激。我想用AI保持加權優先級。我的想法是讓AI_Weighted_Priority繼承AI_Priority並覆蓋選擇。我不想處理荏苒不同長度的列表(不好的做法IMO) open AI type Condition = | Closest of fl

    2熱度

    1回答

    以下類型顯然非常大,因此手動編寫代碼將其轉換爲可讀形式將會很乏味。我想知道以可讀形式顯示樹的最簡單方法。 type Element = | Nil | Token of Token | Expression of Element * Element | ExpressionNoIn of Element * Element | AssignmentExpression of Elemen