加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

settings.maxPrintString for Scala 2.9 REPL

发布时间:2020-12-16 09:15:24 所属栏目:安全 来源:网络整理
导读:我想在 Scala REPL中禁用截断字符串值. 以下线程建议输入settings.maxPrintString = 0: How to force interpreter show complete stack trace? 不幸的是,这似乎不适用于Scala 2.9: Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server
我想在 Scala REPL中禁用截断字符串值.

以下线程建议输入settings.maxPrintString = 0:

How to force interpreter show complete stack trace?

不幸的是,这似乎不适用于Scala 2.9:

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
       ^

有需要导入的东西吗?

我试过:电源,这使设置可用,但它似乎不支持maxPrintString:

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

我看到scala.tools.nsc.InterpreterSettings.maxPrintString存在,但我不知道如何获得一个适当的InterpreterSettings实例进行修改.

解决方法

~/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,power.<tab>    **

    scala> vals.isettings.maxPrintString
maxPrintString     maxPrintString_=   

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

要么

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

其中样本输出将显示没有上限的截断.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读