types - 是否可以在运行时获取 F# 函数的类型签名?
问题描述
假设我定义了一个 F# 函数,如下所示:
let flip p = (snd p, fst p)
如果我将鼠标悬停在“翻转”上,Visual Studio 会告诉我这个函数的类型签名是:
'a * 'b -> 'b * 'a
有没有办法在运行时为任意函数获取这个签名字符串?
调用GetType()
给flip
了我 .NET 类型,这没有帮助。也许我可以以某种方式使用引号?例如,printfn "%A" <@flip@>
给我:
Lambda (tupledArg,
Let (arg00@, TupleGet (tupledArg, 0),
Let (arg01@, TupleGet (tupledArg, 1),
Call (None, flip, [arg00@, arg01@]))))
这更接近我想要的,但显然仍然不对。我想获得与 IDE 中相同的简单、干净的类型签名。
解决方案
推荐阅读
- python-3.x - Django没有拿起功能
- jenkins - Jenkins 将环境传递给 pod 模板
- matlab - 为什么matlab不读取命令ReadData3d?
- javascript - 如何从 React ContentEditable 中提取没有 HTML 实体编码的文本?
- r - 如何在 R 中表示高于或低于 SMA 的收盘价?
- image - Flutter:透明的孩子,填充父母的背景颜色
- java - 使用 Appium 在 Android 中访问导航栏
- javascript - history.push 每次都不起作用
- reactjs - Kendo React Grid:如何专门针对日期及其过滤自定义列菜单过滤器
- git - 致命:'origin/stable-2.10.0' 致命:'origin/stable-2.10.0' 不是提交,您不能从中创建“虚拟”分支