Language:ให้รู้จักเลนกับตัวเลือก

0

คำถาม

ฉันมีทางเลือกของ Seq ของบางรายการ:

Option[Seq[MyItem]]

MyItem มีสนาม'รายละเอียด'

ฉันต้องการที่จะค้นหาว่าหนึ่งในรายการมีเฉพาะรายละเอียด.

เป็นไปได้ยังไงที่มันจะทำการใช้สำหรับรู้จักเล?

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

คำตอบที่ดีที่สุด

2

ถ้าคุณต้องการทดสอบว่ามีธาตุของ Option[Seq[MyItem]] มีเฉพาะรายละเอียดงั้นคุณสามารถทำสิ่งนี้ได้

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

ถ้าคุณต้องการทางออกนั้นใช้ for งั้นฉันไม่สามารถช่วยคุณ:)

2021-11-23 12:20:57

ที่จริงฉันทำแบบนี้ตอนนี้. แต่ฉันกลัว readability คือไม่ใช่เรื่องดีดังนั้นฉันกำลังมองหาเพื่อ comprehensions. แต่ดูเหมือสำหรับ comprehensions ไม่ได้ทำงานเมื่อก่อนกำเนิดไฟฟ้าเรียบร้อมีตัวเลือกที่จะเกี่ยวข้องกับมัน
Mandroid

Readability ขึ้นอยู่กับผู้ชมแต่สำหรับ competent Language โปรแกรมเมอร์ค exists เวอร์ชั่นเป็นอย่างชัดเจน for คือเหมาะสมสำหรับการประมวลผลหนึ่งคลังภาพไปยังอีกแต่งานนี้คือการแสดงเดี่ยวค่าจากคนจะได้ปลอดภัย สำหรับที่คุณต้องการ fold หรือ collect ปฏิบัติการแต่มันจะไม่เป็นอะไรชัดขึ้นได้ว่า exists.
Tim

นัดเดียวสำหรับ-รู้จักเลบ Option[Seq[MyItem]] จะไม่ทำงาน แต่มันจะทำงานอยู่ Seq[Option[MyItem]]. แค่ใช้อยู่ก่อน\หรือจะเรียกว่าอดีตจนท.\สะสมที่พูดถึงโดย@ทิม
gatear

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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