【发布时间】:2020-07-23 08:57:06
【问题描述】:
我们如何在 F# 中构建一个函数来输出传入的变量的名称?例如:
let someVar1 = "x"
getVarname someVar1 //output would be "someVar1"
let someVar2 = "y"
getVarname someVar2 //output would be "someVar2"
let f toString = fun a -> printfn "%s: %d" (toString a) a
let x = 1
f getVarname x //output would be: "x: 1"
我在这里 (get name of a variable or parameter) 在 C# 中发现了一个类似的问题,但我无法在 F# 中使其工作。
【问题讨论】:
-
你试过F#5的nameof吗? devblogs.microsoft.com/dotnet/announcing-f-5-preview-1
-
我听说过这个函数,但我不知道如何在脚本中使用它。尽管我打开了 Microsoft.FSharp.Core.Operators,但它一直显示错误(“未定义值或构造函数 'nameof'”)。我正在使用 Visual Studio Community 2019 16.5.3。