地图和模式匹配

时间:2015-06-02 20:10:23

标签: f#

我在这里有一项任务,我正在努力:

type multimap<'a,'b when 'a:comparison and 'b:comparison> = MMap of Map<'a, list<'b>>

作业说明了

  

我们将多图的规范表示定义为表示元素的表示   价值表是有序的。     声明一个函数canonical: multimap<'a,'b> -> multimap<'a,'b> when 'a : comparison and 'b : comparison   其中canonical m返回m的规范表示。

现在我有:

let toOrderedList (mm:multimap<'a,'b>)  = 
    match mm with
    | MMap m -> 

我不知道如何在此模式匹配。有帮助吗? :3

1 个答案:

答案 0 :(得分:2)

好的,只是给这个答案你正在寻找的功能可以这样写:

<application

    android:allowBackup="true" android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name">
        <intent-filter>
          <action android:name="android.intent.action.MAIN"/>
          <category android:name="andriod.intent.category.LAUNCHER"/>
            </intent-filter>







        </activity>





</application>

这解析了参数定义中的let cannonical (MMap m) = m |> Map.map (fun _ vs -> List.sort vs) |> MMap 权限(模式匹配),然后管道multimap Map<> - 用{{1}对m进行排序最后使用构造函数list

将其重新包装回Map.map