【问题标题】:How to clear terminal/screen in scala如何在scala中清除终端/屏幕
【发布时间】:2019-10-29 16:29:09
【问题描述】:

我需要在 Scala 中清除控制台屏幕

我尝试了标准的 ANSI 清除屏幕,rosettacode.org here

将其建议为 “终端控制/清除屏幕”
object Cls extends App {print("\033[2J")}

我收到以下错误:

Error:(8, 14) octal escape literals are unsupported: use \u001b instead
    println("\033[2J")

【问题讨论】:

  • print("\u001b[2J\u001b[;H") 或只是"\u001b[2J"
  • 即使print("\033[2J") 这也有效
  • print("\033[2J") 在 repl 中有效,但在带有 sbt 的 Idea 中无效(至少在 mu 2.13 版中)

标签: scala console deprecated ansi-escape


【解决方案1】:

试试这个:

def clscr = {
   object Cls extends App {print("\u001b[2J")}
   Cls
}

clscr

【讨论】:

  • 这似乎只是已接受答案的重复,但解释较少,上下文较多。如果这个额外的上下文有助于解决核心问题,请解释如何以及为什么。但是,如果没有它,这似乎不会为线程增加太多新价值。
【解决方案2】:

我找到了我的问题的解决方案,我将在这里分享给其他人,显然来自 Scala 2.10 Octal litherals are deprecated see here。 上面的问题 "\033[2J" 不起作用,因为八进制 litherals 已被弃用,所以只需听编译器并将其替换为 "\u001b[2J" ,如图所示下面:

object Cls extends App {print("\u001b[2J")}

【讨论】:

    猜你喜欢
    • 2012-04-23
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2011-06-04
    • 2011-10-01
    • 1970-01-01
    • 2023-01-05
    相关资源
    最近更新 更多