Scala: para la comprensión con la Opción

0

Pregunta

Tengo una Opción de un Ss de algunos elementos:

Option[Seq[MyItem]]

Mielemento tiene un campo 'descripción'

Necesito saber si uno de los elementos tiene una descripción específica.

¿Cómo se puede hacer uso de para la comprensión?

scala
2021-11-23 12:01:45
1

Mejor respuesta

2

Si desea probar si cualquier elemento de Option[Seq[MyItem]] tiene una descripción específica, a continuación, usted puede hacer esto.

opt.exists(_.exists(_.description == ???))

Si usted realmente necesita una solución que utiliza for entonces no te puedo ayudar :)

2021-11-23 12:20:57

En realidad estoy haciendo esto en la actualidad. Pero me temo que la legibilidad no es bueno, así que estaba buscando para el entendimiento. Pero parece que para la comprensión no funcionan cuando el primer generador tiene la Opción de tratar.
Mandroid

La legibilidad depende de la audiencia, pero para un competente Scala programador de la exists la versión es muy clara. for es adecuado para el procesamiento de una colección a otra, pero esta tarea es producir un único valor de una colección. Para eso se necesita un fold o collect la operación, pero que no va a ser más claro exists.
Tim

Un sencillo para la comprensión de Option[Seq[MyItem]] no va a funcionar. Sin embargo, se va a trabajar en Seq[Option[MyItem]]. Sólo utilice existe\veces\recoger, como lo menciona @Tim
gatear

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................