![]() |
1
7
您可以将f反射与引用结合起来,得到通用的解决方案
|
![]() |
2
16
如果您对不同类别的形状感兴趣,那么定义另一种类型来准确捕获它们是有意义的:
编辑-正如Brian建议的,您可以使用活动模式而不是新类型。对于您的示例,它的工作方式非常类似,但可以更好地扩展到更复杂的模式,而如果您的代码经常与类别一起工作,并且您希望为它们提供一个好的联合类型,而不是选择类型,那么上面的方法可能会更好。
|
![]() |
3
8
您可以使用f反射库获取值的标记:
|
![]() |
4
3
我想添加另一个解决方案,它可以根据所提供的DESCO为每个联合用例提供报价。这就是:
通过这种方式定义,isonioncase的工作方式与desco显示的类似,但即使在空的联合用例或具有多个值的联合用例上也是如此。还可以输入一个由逗号分隔的并集大小写组成的元组。考虑一下:
我提供的第一个独立案例只适用于单个案例检查。后来我添加了对newtuple的表达式检查,并认为您可能会喜欢它。只要确保更改代码,预计算仍然有效,这就是为什么
|
![]() |
5
0
更优雅的解决方案可能是:
不过,我自己对此并不十分满意,因为你必须创建一个歧视工会的实例,让它发挥作用。 按形状类型分组可以以类似的方式工作。 |
![]() |
Thomas · 使类型别名在F中不可互换# 3 年前 |
![]() |
sdgfsdh · 我该怎么说。使用异步转换函数进行收集? 7 年前 |
![]() |
Soldalma · 我可以实例化包含顶级副作用值的类吗? 7 年前 |
![]() |
matekus · F#-包含数字的字符串的自然排序 7 年前 |
![]() |
matekus · F#类型匹配-无法创建映射或匹配记录 7 年前 |
![]() |
Rob Lyndon · 未找到F#ProvidedTypes文件 7 年前 |
![]() |
red-swan · 如何将intro ML.Net演示翻译为F#? 7 年前 |
![]() |
jkone27 · F#-在编译时从字符串生成简单的空类型 7 年前 |