Expression.Lambda 中的 Tailcall 参数
为尾部调用优化提供参数的原因是什么?
Expression.Lambda(Expression body,bool tailcall,
IEnumerable<ParameterExpression> Parameters)
只要它不会影响结果,为什么我们明确需要为其指定一个值。而且我觉得进行尾部调用优化总是更好。对此你有什么不同的想法吗
What is the reason behind giving a parameter for tailcall optimization in
Expression.Lambda(Expression body,bool tailcall,
IEnumerable<ParameterExpression> Parameters)
As long as it is not going affect the result why do we explicitly need to specify a value for it.And i feel it is always better to have tailcall optimization. Do you have different thought on this
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个设计有点搞笑。
为
tailcall
参数传递true
,将尝试在 lambda 体内以尾部调用的形式调用尾部位置的方法。尾部位置是方法调用返回的表达式的位置。
至于更好,那是主观的。
The design is kinda funny.
Passing
true
for thetailcall
parameter, will attempt to call method in a tail position as a tail call within the body of the lambda.A tail position is where a method call is the expression being returned.
As for better, that is subjective.