Is `a? .Let {}?: Run {}` idiomatic in Kotlin?
Vi el siguiente comentario en un S.O. publicar, y estoy intrigado:
¿por qué no usas si para cheques nulos? @a?.let{} ?: run{}
solo es apropiado en casos raros, de lo contrario no es idiomático - voddan 15 de mayo de 16 a 7:29 La mejor manera de hacer un cheque nulo en Kotlin?
¿Por qué esa construcción "solo es apropiada en casos raros"?
El ingeniero principal de Kotlin dice:
run le permite usar múltiples declaraciones en el lado derecho de un operador de elvishttps: //stackoverflow.com/a/51241983/665601
aunque admito que en realidad no lo respalda como idiomático. Ambas publicaciones parecen ser de muy respetado S.O. Colaboradores de Kotlin.
a publicación que inspiró el comentario original menciona que lalet
parte de la expresión es importante sia
es mutable. En ese caso, necesitarása?.let{} ?: run{}
en lugar deif{} else {}
.
Me parece que me gusta la construcción "deja que Elvis corra". ¿Debo evitarlo en la mayoría de los c, ases?
Gracias por cualquier idea.