相关疑难解决方法(0)

在地图上映射<'a,int>

我有以下类型:

type MultiSet<'a when 'a: comparison> = MSet of Map<'a, int>
Run Code Online (Sandbox Code Playgroud)

我现在想要使用签名声明此类型的af map函数:

('a -> 'b) -> Multiset<'a> -> Multiset<'b> when 'a : comparison and 'b : comparison
Run Code Online (Sandbox Code Playgroud)

我试过了 :

let map m ms =
    match ms with
    | MSet s -> MSet ( Map.map (fun key value -> m key) s )
Run Code Online (Sandbox Code Playgroud)

但它有签名:

('a -> int) -> Multiset<'a> -> Multiset<'a> when 'a : comparison
Run Code Online (Sandbox Code Playgroud)

当我想要第一个提到的函数签名时,我的实现有什么问题?

f# f#-interactive

3
推荐指数
1
解决办法
88
查看次数

标签 统计

f# ×1

f#-interactive ×1