मेरी स्काला कोड में, मैं कुछ निहित रूपांतरण है, और मुझे आवश्यक आयात वर्तमान है:चेतावनी क्यों करें scala.language.implicitConversions अंतिम आयात नहीं है?
import scala.language.implicitConversions
लेकिन, कभी कभी जब वहाँ एक और आयात इस एक के बाद किया है, मैं चेतावनी के रूप में करता है, तो आयात है मिल नहीं वहाँ सब पर:
चेतावनी: (112, 18) अंतर्निहित रूपांतरण विधि pair2Dimension अंतर्निहित मूल्य scala.language.implicitConversions दृश्यमान बनाकर सक्षम होना चाहिए।
build.sbt:
name := "ImplicitSBT"
version := "1.0"
scalaVersion := "2.11.5"
scalacOptions ++= Seq("-deprecation","-feature")
libraryDependencies += "org.scala-lang.modules" %% "scala-swing" % "1.0.1"
Main.scala:
import scala.language.implicitConversions
import scala.swing.{Action, _}
object Main extends App {
implicit def pair2Dimension(pair: (Int, Int)): Dimension = new Dimension(pair._1, pair._2)
val dim : Dimension = (0,0)
println(dim)
}
इस क्यों होता है? import scala.swing.{Action, _}
implicitConversions
आयात छुपा कैसे है?
स्पष्ट होने के लिए: दिलचस्प सवाल यह नहीं है कि दो टकराव (अपेक्षित) क्यों है, लेकिन क्यों नहीं जब वे 'scala.language' आयात दूसरे होते हैं। –
@ ट्रेविस मुझे लगता है कि एक विशिष्ट (एक-नाम) आयात से पहले किए गए वाइल्डकार्ड आयात पर प्राथमिकता है। – Suma
@ सुमा ओह, ठीक है, यह समझ में आता है। तो यह बिल्कुल भी रहस्यमय नहीं है। –