函数返回另一个函数的主体

时间:2014-10-02 07:54:27

标签: f#

在F#中是否有一种方法可以创建一个函数,该函数将任何其他函数作为其唯一参数并返回该函数的正文文本作为结果?

例如:

let myFunc = 
    // Always equals 3!
    let x = 1 + 2

    // Print it to the console
    printfn "x = %i" x

let extractFunctionText f =
    ???

extractFunctionText myFunc

extractFunctionText应该有('a -> 'b) -> string的签名,即它将任何函数作为输入并返回一个字符串。我想在上面的具体示例的最后一行返回的字符串是:

"""// Always equals 3!
let x = 1 + 2

// Print it to the console
printfn "x = %i" x"""

对于任何错别字或天真的问题道歉:我对此有点陌生。我认为以下链接(SO Answer& MSDN)让我非常接近但我不太了解完成这项工作的事情

0 个答案:

没有答案