定义与调用的不同arg格式

时间:2011-09-15 19:11:05

标签: f# code-formatting

我很好奇为什么主要构造函数args必须在类型定义中缩进超出开始paren,但在调用时可能会使用类型名称缩进。

type AnIncrediblyLaboriouslyEternallyLongTypeName(arg1, arg2,
      arg3, arg4) = //WARNING: Possible incorrect indentation
  class end

let x = AnIncrediblyLaboriouslyEternallyLongTypeName(
          1, 2, 3, 4) //works

解决方案是将args缩进超出第二台显示器的左边缘:

type AnIncrediblyLaboriouslyEternallyLongTypeName(arg1, arg2,
                                                  arg3, arg4) = 
  class end

我想知道为什么这两种情况下的规则不同。

这也适用于方法。我只选择了主要构造函数作为示例。

1 个答案:

答案 0 :(得分:2)

我不记得了,但请注意这个

type AnIncrediblyLaboriouslyEternallyLongTypeName
        (arg1, arg2, arg3, arg4) = // works
  class end 

也是允许的。