当我准备为F#编写一个代码生成器时,我在想能否通过只生成单行值来避免缩进混乱的问题。
在这个过程中,我考虑如何用一行代码表达对象表达式,但除了冗长模式外,我无法成功。
let Expr() = (let ToString = "ToString" in { new System.Object() with member this.ToString() = ToString; member this.GetHashCode() = ToString.GetHashCode()})
问题在于我不想以冗长模式生成所有代码,这是一种兼容性特性。是否还有其他选项?
非常感谢您的见解!
François
我之所以这样问,是因为我必须在任意表达式中生成对象表达式,并且我希望避免计算当前行中字符的数量以计算下一行缩进量。