相关疑难解决方法(0)

F#:如何优雅地选择和区分受歧视的工会?

说我有一个形状列表:

type shape = 
| Circle of float
| Rectangle of float * float

let a = [ Circle 5.0; Rectangle (4.0, 6.0)]
Run Code Online (Sandbox Code Playgroud)

我怎样才能测试一个圆圈是否存在?我可以为每个形状创建一个函数

let isCircle s = 
    match s with
    | Circle -> true
    | _ -> false
List.exists isCircle a
Run Code Online (Sandbox Code Playgroud)

但我觉得必须有F#更优雅的方式,不必定义这样的功能对于每个形状类型等.在那儿?

相关问题是如何根据形状类型对形状列表进行分组:

a |> seq.groupBy( <shapetype? >)
Run Code Online (Sandbox Code Playgroud)

f#

16
推荐指数
3
解决办法
2128
查看次数

标签 统计

f# ×1