Scala'da tipeclass desen için implicit
bildirmesinin iki yolu (biri diğerinden daha az) gördüm.Scala implicit nesnesi vs örtülü değer
implicit val instance1 = new Typeclass { def do = ??? }
implicit object instance2 extends Typeclass { def do = ??? }
Nasıl farklılar? Belirli zamanlarda biri diğerine mi tercih edilir? Ben implicit object
daha yaygın olarak kullanılan implicit val
buluyorum ve henüz implicit object
hakkında birçok kaynak bulmak için bulduk.
Yani, “örtülü” nesneyi “val” ile kullanma kararı, tembel veya katı başlatmayı tercih edip etmeyeceğine mi bağlı? –
Bu, tek bir düşünce olabilir (her zaman tembel val' ile tembellik yapmak için bir "val" kullanabilirsiniz), ama tek değil. Örneğin, bir 'nes' üyesi, bir alt nesne içinde bir 'nesne' üyesi yapamazken geçersiz kılınabilir. Eminim başka farklılıklar da var. –