相关疑难解决方法(0)

如何在Scala中链接implicits?

pimp-my-library模式允许我通过提供从该类到实现该方法的类的隐式转换,似乎向类添加方法.

斯卡拉不允许两个这样的隐式转换正在发生,但是,我不能得到AC使用隐含AB和另一个隐含的BC.有没有办法解决这个限制?

scala implicit-conversion implicits

76
推荐指数
2
解决办法
7593
查看次数

27
推荐指数
2
解决办法
1775
查看次数

在scala中从Int到Double的隐式转换不起作用

我已经编写了一些隐式代码,如下所示,我想知道为什么i2d不调用函数隐式对话.

object Test {
  implicit def i2d(x: Int): Double = {
    println("foo")
    x.toDouble
  }

  implicit def d2i(x: Double): Int = {
    x.toInt
  }

  val x: Int = 10
  val y: Double = x
  val z: Int = 3.5
}
Run Code Online (Sandbox Code Playgroud)

输出scalac -Xprint:typer Test.scala

// Test.scala
[[syntax trees at end of typer]] 
package <empty> {
  object Test extends scala.AnyRef {
    def <init>(): Test.type = {
      Test.super.<init>();
      ()
    };
    implicit def i2d(x: Int): Double = {
      scala.this.Predef.println("foo");
      x.toDouble …
Run Code Online (Sandbox Code Playgroud)

scala implicit-conversion scalac

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