Правила отступов в классах с наследованием? - PullRequest
0 голосов
/ 30 марта 2019

Я немного смущен компилятором F # (через Ionide) в отношении правил отступов.

Вот мой фрагмент кода, который вызывает предупреждения:

type MyGame () as this =
  inherit Game ()
    let graphics = new GraphicsDeviceManager (this)
    let mutable spriteBatch = null
    let mutable state =
      {
        Board = Map.empty
        Selection = List.empty
      }

    do
      this.IsMouseVisible <- true

    // ...

Но F # кажется счастливым только тогда, когда я вставляю в каждую строку один или несколько символов из предыдущего, что выглядит ... странно для меня:

type MyGame () as this =
  inherit Game ()
    let graphics = new GraphicsDeviceManager (this)
      let mutable spriteBatch = null
        let mutable state =
          {
            Board = Map.empty
            Selection = List.empty
          }

          do
            this.IsMouseVisible <- true

    // ...

Как должен код, подобный этому, быть отформатирован?

1 Ответ

1 голос
/ 30 марта 2019

Это потому, что ваша строка inherit Game () не так отступа, как то, что будет дальше.Измените отступ, и предупреждения исчезнут:

type MyGame () as this =
    inherit Game ()
    let graphics = new GraphicsDeviceManager (this)
    let mutable spriteBatch = null
    let mutable state =
      {
        Board = Map.empty
        Selection = List.empty
      }

    do
      this.IsMouseVisible <- true

    // ...

Также обратите внимание, что иногда ваш отступ будет превосходить то, что предлагает компилятор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...