2011-08-24 58 views
3

可能重复:
Using keywords as identifiers in F#F#中有没有C#的@关键字?

C#允许你使用@关键词前缀的变量:

关键词是预定义的保留标识符有特殊 含义编译。除非它们包含@作为前缀,否则它们不能用作 程序中的标识符。例如,@if是合法的 标识符,但如果不是因为它是关键字。

我想知道在F#中是否有类似的构造。如果我没有记错,即使VB.NET也提供了类似的构造。

+2

为什么你想命名关键字后的变量?这似乎会造成更多的困惑,而不是值得的。 – 0x5f3759df

+1

在整个API中保持约定。如果我想命名一个变量类型,但我不能,我可能想尝试'''而不是一个丑陋的t,typ,type_或其他类型。 –

+4

@ 0x5:更有可能的是,变量是一种语言中的保留字,但不是代码最初写入的变量。如果您需要访问以其他语言编写的库,则必须处理不知何故这个问题。 – JasonTrue

回答

9

使用引号:

let rec ``let rec``() = ``let rec``() 
+1

+1时髦的例子 – Daniel