Spark #11 : Örtük dönüştürmeler
Bugun Scala implicit conversions'dan bahsediyoruz. Mesela ki, bir sekilde, iki integer toplamak istedigimde soyle bisey yapmak istiyorum: scala> 1.plus(1) <console>:24: error: value plus is not a member of Int 1.plus(1) ^ Tabi boyle bisey yok. O zaman bir case class tanimliyorum: scala> case class IntExtensions(value: Int){ | def plus(operand: Int) = value + operand | } defined class IntExtensions ve daha sonra: scala> IntExtensions(1).plus(1) res8: Int = 2 Bu sekilde calistirabilirim. Ama bu cok cirkin ve cok uzun. Her seferinde IntExtensions class'ini kullanmak istemiyorum. O zaman scala'nin implicit conversions guzelligini sahneye davet ediyorum: scala> import scala.language.implicitConversions import scala.language.implicitConversions ve daha sonra implicit ve fonskyion tanimliyorum ki her bir integer'e, IntExtensions muamelesi yapabileyim: scala> implicit def intToIntExtensions(value: Int) = { | IntExt