Bạn có thể tìm thấy điều này ra cho mình phương pháp nào bằng cách nhìn vào Scaladoc và tìm hiểu nơi nó được xác định, và sau đó nhìn vào nguồn. Nếu bạn bắt đầu với online docs, bạn có thể thực hiện việc này chỉ bằng cách nhấp: chuyển đến phương pháp, mở nó bằng cách nhấp vào mũi tên bên trái và bạn sẽ thấy danh sách các lớp ghi đè. Đi đến cái đầu tiên, và nhìn vào nguồn.
Dù sao, trong trường hợp này, GenSeqLike
, một supertrait của List
và nhiều bộ sưu tập khác, định nghĩa equals
như một tấm séc canEqual
Tiếp theo sameElements
. Đổi lại, sameElements
kiểm tra xem cả hai đối số là LinearSeq
s và nếu có, hãy gọi bằng mỗi cặp yếu tố bằng cách tách đầu và đuôi từng cái một. Nếu không, thiết bị sẽ mặc định sử dụng trình lặp, gọi số hasNext
trên mỗi cái rồi so sánh các phần tử với equals
.
Vì vậy, câu chuyện dài ngắn: có, nó gọi bằng nhau trên mỗi cặp yếu tố (dừng lại ngay sau khi tìm thấy sự không phù hợp).
Nguồn
2012-06-20 16:01:42
Bạn đã xem mã chưa? Scala là mã nguồn mở. –
bạn đã thử chạy chưa? –
@Tyler: Có, nhưng tôi không thể tìm thấy mã piec chính xác, vì Danh sách mở rộng rất nhiều lớp khác. –