Scala: рисовать таблицу в консоли

Мне нужно отобразить таблицу в консоли.

Мое простое решение, если вы назовете его «решением», выглядит следующим образом:

  override def toString() = {
    var res = "\n"
      var counter = 1;
      res += stateDb._1 + "\n"
      res += "  +----------------------------+\n"
      res += "  +     State Table            +\n"
      res += "  +----------------------------+\n"
      for (entry <- stateDb._2) {
        res += "  | " + counter + "\t | " + entry._1 + " | " + entry._2 + " |\n"
        counter += 1;
      }
      res += "  +----------------------------+\n"
      res += "\n"
    res

  }

Мы не должны спорить, что

  • a выглядит плохо при отображении
  • b-код выглядит как бы испорченным

На самом деле, такой вопрос был задан для C #, но я хотел бы узнать хорошее решение и для Scala.

Каков (хороший / хороший / простой / какой угодно) способ нарисовать такую ​​таблицу в Scala на консоли?

-------------------------------------------------------------------------
|    Column 1     |    Column 2     |    Column 3     |    Column 4     |
-------------------------------------------------------------------------
|                 |                 |                 |                 |
|                 |                 |                 |                 |
|                 |                 |                 |                 |
-------------------------------------------------------------------------
14
задан Brian Tompsett - 汤莱恩 11 November 2017 в 11:54
поделиться