2012-06-16 20 views
6

ScalaのREPLで戻り値の型を表示しないようにスイッチがあることを覚えていますが、見つけられません。私は特にこのスイッチをsbtビルドファイルに追加することに興味があります。 returnTypes in console := falseのようなものです。sbt console/Scalaの戻り値の型を無効にするREPL

など。今私は

scala> within(Span(0, 33)) 
res7: scala.collection.immutable.IndexedSeq[(de.sciss.lucre.expr.SpanLike, scala.collection.immutable.IndexedSeq[(de.sciss.lucre.expr.Expr[de.sciss.lucre.stm.InMemory,de.sciss.lucre.expr.SpanLike], de.sciss.lucre.expr.Expr[de.sciss.lucre.stm.InMemory,Long])])] = Vector() 

を持っていると私は

scala> within(Span(0, 33)) 
res7: Vector() 

答えて

5

たい明白な理由のために私の質問は基本的にthis mailing-list questionでミラーリングされます。

initialCommands in console := """// helper method to disable type printing 
def shortresults[T](t: => T) = { 
    val s = t.toString 
    val name = s.takeWhile(_ != ':') 
    val idx = s.indexOf(" = ") 
    val full = if (idx >= 0) name + s.substring(idx) else s 
    val short = if (full.length>799) full.substring(0,796)+"..." else full 
    print(short) 
    t 
} 
""" 

しかし残念ながら、まだ次の三つREPLコマンドはコンソールが起動し、実行された後に手動で実行する必要がありますエスケープ:レックスカーの考えに基づき、次はbuild.sbtに行くことができる

:power 
:wrap shortresults 
:silent 
+0

こと少し前だった。 https://issues.scala-lang.org/browse/SI-8349 –