2900

[code]

        member this.hoge = Array.concat [
            this.x;
            this.y;
            this.z
        ]
    
[/code]

上のように1要素1行で書いたところ、listの要素を書いた3行がすべて、コンパイラから警告をもらってしまいました。 `警告 FS0058:
インデントが正しくない可能性があります。`  
コンパイルは出来るので動くのですが、他の警告が埋もれて良くないので、直したいと考えています。実際のコードは各要素がthis.xよりずっと長いので、一行にするのは難しいです。

[code]

        member this.hoge = Array.concat
        [
            this.x;
            this.y;
            this.z
        ]
    
[/code]

これは警告ではなくエラーになりました。  
`エラー 1 予期しない シンボル '[' です: メンバー定義内`

[code]

        member this.hoge = Array.concat [ this.x;
            this.y;
            this.z
        ]
    
[/code]

最初の要素を開きカッコの行に移せば警告は消えましたが、ここまでインデントを深くして2要素目以降の頭を揃えるのは避けたいです。
何か良い書き方はあるでしょうか？


CC BY-SA 3.0
2015-01-01T10:30:55.803
2897
2015-01-01T11:42:08.137
799
question
f#
F#で、listの中身を複数行で書く場合のインデント


実際に試してませんが以下の様にしてみたらどうでしょうか？

[code]

    member this.hoge =
        Array.concat [
            this.x;
            this.y;
            this.z
        ]
    
[/code]


CC BY-SA 3.0
2015-01-01T10:42:07.753
2900
2015-01-01T10:52:23.403
2015-01-01T10:52:23.403
5044
5044
2897
answer


既に解決済みですがちょっと補足。

元々

[code]

    member this.hoge = Array.concat [
            this.x;
            this.y;
            this.z
        ]
    
[/code]

で、「インデントが正しくない可能性があります。このトークンは位置 ((行):(列))
から開始されるコンテキストのオフサイドになります。このトークンのインデントを増やすか、標準的な書式規則を使用してください。 」
という警告がでているのは最初の要素がArray.concatよりも手前にいるからです。

なので警告を消すだけであれば以下でも消すことができます。

[code]

    member this.hoge = Array.concat [
                        this.x;
                        this.y;
                        this.z
                       ]
    
[/code]

とはいえインデントが深いので、BLUEPIXYさんの回答の方が綺麗ですね。

加えて、極端なこと言えば改行していても以下の様な形ですと同じ警告がでます。

[code]

    member this.hoge = 
      Array.concat [
     this.x;
     this.y;
     this.z
      ]
    
[/code]

そして括弧の前で改行しても以下なら警告はでません。

[code]

    member this.hoge = 
      Array.concat 
       [
        this.x;
        this.y;
        this.z
       ]
    
[/code]


CC BY-SA 3.0
2015-01-01T11:36:38.337
2904
2015-01-01T11:42:08.137
2015-01-01T11:42:08.137
728
728
2897
answer