Ba loại phụ trực tiếp của Iterable
là Map
, Seq
và Set
. Có vẻ như - ngoài các vấn đề về hiệu năng — Seq
là một bản đồ từ số nguyên đến giá trị và Set
là một bản đồ từ các giá trị đến boolean (true nếu giá trị nằm trong tập hợp, sai nếu không).Tại sao Seq [V] không mở rộng Bản đồ [Int, V] cũng như không đặt [V] mở rộng Bản đồ [V, Bool]?
Nếu trường hợp này xảy ra, tại sao điều này không được thể hiện trong hệ thống kiểu bằng cách thực hiện Seq[V]
mở rộng Map[Int, V]
và Set[V]
mở rộng Map[V, Boolean]
?
'Set' và' Seq' có ngữ nghĩa rất khác nhau từ 'Bản đồ', vì vậy sẽ không có ý nghĩa khi hiển thị chúng theo cách đó. – Gabe
@Gabe, bạn có thể đưa ra một ví dụ cụ thể về ý nghĩa của từ "ngữ nghĩa khác nhau" không? – Adam
Tôi nghĩ rằng đây là một câu hỏi thú vị, nhưng câu trả lời của Madoc là vô ý. – Malvolio