标签: predef

Scala Predef unmport

可能重复:
如何在Scala中取消导入字符串"+"运算符?

所以来自Predef的东西会自动导入到scala程序中.但是如何禁用 - 从Predef中取消导入某些或所有导入的函数?作为一个例子,如果我不喜欢String上的'+'运算符如何禁用此功能?

import scala predef

9
推荐指数
1
解决办法
2319
查看次数

Scala包对象与Predef

scala包对象中定义的内容与之间的区别是什么Predef

Predef刚刚从前期2.8的遗物时,包对象不存在,或者是有一些其他的原因,我们都需要?

scala predef

6
推荐指数
1
解决办法
404
查看次数

使用 -Yno-predef 标志展平 scala.immutable.Seq

我正在使用Predef带有-Yno-predef标志的自定义。它基本上是SlamData 的副本。

当我尝试展平嵌套的 immutable Seqs 集合时,我收到错误:

No implicit view available from my.Predef.Seq[String] => scala.collection.GenTraversableOnce[String].
Run Code Online (Sandbox Code Playgroud)

如果我把import scala.Predef._它再次编译。我试图调查scala.Predefscala打包对象,但是当我试图复制TraversableOnce's, Traversable's 或Seq's 的定义时,它没有帮助。

有人知道 vanilla predef 的哪一部分负责生成这个隐式吗?

scala implicit predef

1
推荐指数
1
解决办法
169
查看次数

Rabbit Hole:找到String,需要java.lang.String

在尝试向Either添加隐式方法时,今天遇到了一个非常奇怪的问题.

implicit class EitherProvidesRollback[String,B](e: Either[String,B]) {
  def rollback(
    ss: Option[Session], overrideMsg: Option[String]): Either[String,B] = {

    e.fold(
      msg=> {
        ss.map(_.rollback)
        // found String required java.lang.String, FTW
        // Left(i18n(overrideMsg.getOrElse(msg)))

        // behold, the horrible hack
        Left(i18n(overrideMsg.getOrElse(msg).toString).asInstanceOf[String])
      },
      Right(_)
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

i18n方法采用了一个字符串,其中AFAICT正是它所获得的.根据此线程,解决方法是T <: String在隐式类'类型签名中.看来Predef可能会在这里发挥作用.

有没有办法让这个工作没有可怕的运行时转换,同时保持类型签名正好字符串?

谢谢

scala type-signature predef

0
推荐指数
1
解决办法
393
查看次数

标签 统计

predef ×4

scala ×4

implicit ×1

import ×1

type-signature ×1