Friday, April 5, 2019

Kotlin admite tipos de suma a través de la palabra clave sellada. Podrías modelar esto en Kotlin así:

Kotlin admite tipos de suma a través de la palabra clave . Podría modelar esto en Kotlin así:

 clase sellada  clase T 
N ( val v : Int, val l : T = E , val r : T = E): T ()
objeto E: T ()

Y las instancias se crean así:

 val ta = N (3) 
val tb = N (3, E, N (4))

Utilice patrón para calcular el valor profundo:

 val  T.  vDeep  : Int 
obtén () = cuando ( este ) {
es N -> v + l . vDeep + r . vDeep
is E -> 0
}
 // llamado así: 
check (ta.vDeep == 3)
check (tb.vDeep == 7)

Sin embargo, en Kotlin podría ser más idiomático modelar tipos como este:

 class  T ( val v : Int,  val l  : T? =  null  val r : T? =  null ) 

y cree instancias como esta:

 val ta = T (3) 
val tb = T (3, null, T (4))

En lugar de coincidencia de patrones para calcular el valor profundo, simplemente haga esto:

 val  T.  vDeep : Int  get  () = ( l  ?.  vDeep  ?: 0) +  v  + ( r ?.  vDeep  ?: 0) 
 // de este modo: 
check (ta.vDeep == 3)
check (tb.vDeep == 7)

READ MORE – CLICK HERE

www.Down.co.ve


No comments:

Post a Comment

Como crear tarjetas Virtuales Visa o MasterCard con tu divisa y las ventajas que ofrecen

Hoy día, gracias al creciente mundo del Internet se le ha permitido a cada persona poder acceder a muchos productos o servicios. Y en estos ...