f# - 为什么 System.Func 的直接代码引用会产生委托,而拼接引用会产生 lambda?
问题描述
我很惊讶直接代码引用
<@ System.Func<int,int>( fun x -> x+1 ) @>
产生一个Expr.NewDelegate
和拼接的代码引用
<@ fun x -> x+1 @> |> fun e -> <@ System.Func<int,int>( %e ) @>
产生一个Expr.Lambda
,我假设这些表达式是等价的。
这是预期的吗?有解释为什么吗?
解决方案
推荐阅读
- c++ - 为什么标准布局类的成员必须具有相同的访问控制?
- ruby - 当顶级目录的名称可能包含全局字符时,递归列出所有路径
- keras - 当我在 keras 中使用 GlobalAveragePooling2D 时如何保持维度
- python - 如何让客户端检测来自服务器的更新数据?
- c++ - 错误:没有用于调用“变量”的匹配函数
- c# - 如何在 C#/Vb.net 中将数组字节写入 PDF/A-3 和附件 [关闭]
- excel-formula - 使用单元格填写 SUMPRODUCT 公式的文件路径?
- java - 尝试通过 ResourceLink 访问 Tomcat 数据源正在返回 ResourceRefLink
- sql - 创建一个具有 NULL 值/0 的数组并查找不包括 null/0 的数组长度
- twilio - Chrome 71 AudioContext 使用 Twilio 客户端恢复