Tôi có một số List[Option[MyClass]]
với None
ở các vị trí ngẫu nhiên và tôi cần phải 'điền' lại danh sách đó, từ List[MyClass]
, duy trì thứ tự.Làm thế nào để thay thế (điền) Không có mục nào trong Danh sách Tùy chọn từ một Danh sách khác bằng cách sử dụng Scala thành ngữ?
Dưới đây là danh sách mẫu và kết quả mong đợi:
val listA = List(Some(3),None,Some(5),None,None)
val listB = List(7,8,9)
val expectedList = List(Some(3), Some(7), Some(5), Some(8), Some(9))
Vì vậy, làm thế nào sẽ là một thành ngữ Scala để xử lý danh sách đó?
"bất kỳ lúc nào bạn gọi tiếp theo trên một trình lặp, bạn chắc chắn trong vùng đất của các tác dụng phụ." Đúng, nhưng trong trường hợp này, chúng được mã hóa gọn gàng trong phương thức, vẫn giữ nguyên trong suốt. –
@Paul: Đúng vậy, tôi nghĩ giải pháp khác là tuyệt vời và đó là cách tiếp cận tôi muốn giải quyết vấn đề này trong mã của riêng tôi. Nhưng nó liên quan đến tác dụng phụ, và trong một số tình huống tương tự có thể không lý tưởng. –