tag:blogger.com,1999:blog-5089773352404981635.post1335925860839688713..comments2023-10-04T08:15:13.812-07:00Comments on Daily scala: Multiple Argument Implicit ConversionsAnonymoushttp://www.blogger.com/profile/07600430363435495915noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-5089773352404981635.post-43854525811250824812010-03-27T07:14:35.531-07:002010-03-27T07:14:35.531-07:00I used "scalac -Xprint:typer" command, a...I used "scalac -Xprint:typer" command, and got those information: <br /><br /> val r3: Randomly = tupleToRandomly(scala.Tuple2.apply[Int, Double](4, 6.0)<br />);<br /> final object Randomly extends java.lang.Object with (Int, Doub<br />le) => Randomly with ScalaObject {<br /> def this(): object Randomly = {<br /> Randomly.super.this();<br /> ()<br /> };<br /> case def unapply(x$0: Randomly): Some[(Int, Double)] = scala<br />.Some.apply[(Int, Double)](scala.Tuple2.apply[Int, Double](x$0.x, x$0.y));<br /> case def apply(x: Int, y: Double): Randomly = new Randomly(x<br />, y)<br /> };<br /> scala.this.Predef.println(r3)Xiaodong Xiehttps://www.blogger.com/profile/13834011216497866275noreply@blogger.comtag:blogger.com,1999:blog-5089773352404981635.post-73017176637406141292010-03-27T06:57:49.844-07:002010-03-27T06:57:49.844-07:00scala> case class Randomly(x : Int, y : Double)...scala> case class Randomly(x : Int, y : Double)<br />defined class Randomly<br /><br />scala> implicit def intToRandomly(i : Int) = new Randomly(i,0.0)<br />intToRandomly: (Int)Randomly<br /><br />scala> implicit def tupleToRandomly(i : (Int, Double)) = new Randomly(i._1, i._2<br />)<br />tupleToRandomly: ((Int, Double))Randomly<br /><br />scala> val r1 : Randomly = 4<br />r1: Randomly = Randomly(4,0.0)<br /><br />scala> val r2 : Randomly = (4, 6.0)<br />r2: Randomly = Randomly(4,6.0)<br /><br />scala> implicit def intToDouble(i : Int) = i.toDouble<br />intToDouble: (Int)Double<br /><br />scala> val r3 : Randomly = (4, 6)<br />r3: Randomly = Randomly(4,6.0)<br /><br />Hello, I've run your code in Scala 2.7.7 final, seems get passed compile.Xiaodong Xiehttps://www.blogger.com/profile/13834011216497866275noreply@blogger.com