1

基本上我想做以下事情:

假设我有两种方法:

def printA(i: Int){
   print("Value A: " + i)
}

def printB(j: Int){
   print("Value B: " + j)
}

现在 - 例如 - 我使用这两种方法都会打印出一些计算结果。我希望这两个值都可以更新,而无需每次都打印新行(使用 println() 时)或将新值与旧值连接起来(使用 print() 时)。

“:”后面的输出应该独立地为两行更新。

在 Python 中,我会使用占位符:

def printA(i):
    print '\rValue A: %d' % (i),
    sys.stdout.flush()

逗号阻止 Python 插入“\n”。对于 Scala,它应该与回车符(“\r”)以相同的方式工作。

问题是,我现在想更新以独立打印,但回车会破坏整个输出,因此只打印最后一行。

在scala中有什么解决方案吗?

谢谢你的帮助!

问候

4

1 回答 1

0

我有点不确定你想做什么。是更新的行还是格式化的行。我相信这个例子两者兼而有之:

for (a <- 1 to 10) {
  Thread.sleep(1000)
  print("\rValue A: %d".format(a))
}
于 2011-04-07T07:34:13.203 回答