2012-03-01 24 views
15

için ben Scala Repl dize değerlerinin kesme devre dışı bırakmak istiyorum.settings.maxPrintString Scala 2.9 REPL

aşağıdaki iplik settings.maxPrintString = 0 yazarak önerdi: Maalesef

How to force interpreter show complete stack trace?

, bu Scala 2.9 ile çalışmak için görünmüyor: Ne ithal gereken bir şey

Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_29). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> settings.maxPrintString = 0 
<console>:10: error: not found: value settings 
val $ires0 = settings.maxPrintString 
      ^
<console>:7: error: not found: value settings 
     settings.maxPrintString = 0 
    ^

var mı?

Ben settings kullanımına sunduğu, :power çalıştı, ama maxPrintString desteklemek için görünmüyor: Ben scala.tools.nsc.InterpreterSettings.maxPrintString var olduğunu görüyoruz

scala> :power 
** Power User mode enabled - BEEP BOOP SPIZ ** 
** :phase has been set to 'typer'.   ** 
** scala.tools.nsc._ has been imported  ** 
** global._ and definitions._ also imported ** 
** Try :help, vals.<tab>, power.<tab> ** 

scala> settings 
res0: scala.tools.nsc.Settings = 
Settings { 
    -d = . 
    -Yrich-exceptions = true 
    -classpath = bin:lib/* 
    -encoding = UTF-8 
} 


scala> settings.maxPrintString = 0 
<console>:31: error: value maxPrintString is not a member of scala.tools.nsc.Settings 
val $ires9 = settings.maxPrintString 
        ^
<console>:28: error: value maxPrintString is not a member of scala.tools.nsc.Settings 
     settings.maxPrintString = 0 

ama InterpreterSettings uygun bir örneğini nasıl emin değilim düzenlemek. örnek çıktı yüksek limiti olmaksızın kesme gösterir

cevap

24
~/code/scala scala29 
Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_29). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> :power 
** Power User mode enabled - BEEP BOOP SPIZ ** 
** :phase has been set to 'typer'.   ** 
** scala.tools.nsc._ has been imported  ** 
** global._ and definitions._ also imported ** 
** Try :help, vals.<tab>, power.<tab> ** 

    scala> vals.isettings.maxPrintString 
maxPrintString  maxPrintString_= 

scala> vals.isettings.maxPrintString = 10000 
vals.isettings.maxPrintString: Int = 10000 

veya

$ scala -uniqid -Xprint:typer -Yshow-syms -Dscala.repl.maxprintstring=64000 

.

+0

Teşekkürler retronym! Denemek istediğini denemeliydim! 0 ayarının şimdi sıfır anlamına geldiğini görüyorum. Bugünlerde sınırsız ayarlamak için herhangi bir yolu var mı, yoksa sadece yukarıda yaptığımız gibi çok sayıda seçmek zorunda (ben -1 çalıştı, ancak hiçbir şans) Aldırma – mrg

+1

. IntMaxValue iyi olacak ve güzel Ctrl-R desteğiyle, aslında çok sık yazmam gerekmeyecek. Ya da sadece -y, -Yrepl-sync çözümü ile kullanabilirim, böylece askıda kalmaz. – mrg

+0

Scala'da Çalışıyor 2.10.3 çok :) –