Thành ngữ Scala tốt nhất để khớp một giá trị với phần tử thứ n của danh sách là gì?Đối sánh với phần tử thứ n của danh sách trong Scala
Cách tiếp cận ngây thơ rõ ràng là không hoạt động:
scala> val list = List(5,6,7)
list: List[Int] = List(5, 6, 7)
scala> val x = 7
x: Int = 7
scala> x match { case list(2) => true; case _ => false }
<console>:10: error: value list is not a case class constructor, nor does it have an unapply/unapplySeq method
x match { case list(2) => true; case _ => false }
Để clarify- câu hỏi này không phải là về làm thế nào để so sánh giá trị cho các yếu tố n-thứ của một danh sách - đó là đặc biệt về việc liệu nó có thể được thực hiện bằng cách sử dụng kết hợp.
Nếu bạn cần lập chỉ mục vào chuỗi của mình, bạn nên sử dụng 'Vector' thay vì' Danh sách'. – missingfaktor
Đúng, nhưng nếu hầu như tất cả các truy cập của tôi là đầu, và tôi chỉ rất hiếm khi cần tìm thêm một chút nữa, thì 'Danh sách' có thể vẫn hiệu quả hơn. –