【发布时间】:2013-11-18 21:01:57
【问题描述】:
我想知道一个语句是怎样的
let Select = Seq.filter
被编译成 CIL:编译器是否内联对 Seq.filter 的调用? 有迹象表明这种假设是因为编译器抱怨:
let inline Select = Seq.filter
error FS0832: Only functions may be marked 'inline'
【问题讨论】:
-
Get Chocolatey,然后
cinst ilspy,Windows,ILS,输入,您将得到答案,无需任何间接 -
在 F# 中,
inline与由类型参数参数化的函数一起使用。见msdn.microsoft.com/en-us/library/vstudio/dd548047.aspx -
@EugeneFotin - 这是典型的但不是必需的;如果您希望在使用站点内联非泛型函数,那么没有什么可以阻止您这样做。
-
我只是想知道你们中的某个人是否马上就知道了答案。多年来我没有看 CIL 代码,我不确定我是否会通过阅读它得出正确的结论。顺便说一句:我写“Select”是因为我正在帮助一个朋友写一些看起来像 MATHEMATICA 的东西,他选择了大写。然后我选择了其中一行作为示例...
-
@SiegfriedStephan 重点是 ILSpy 将为您提供 VB 或 C#(或 IL)。 (尽管您的问题是有效的,但我仍然认为您不应该以任何方式认为加载 ILSpy 很难或很慢)