C # , Scala, Haskell, Lisp và Python có cùng một ziphành vi: nếu một bộ sưu tập dài hơn, đuôi sẽ âm thầm bị bỏ qua.
Nó cũng có thể là một ngoại lệ, nhưng tôi không nghe thấy bất kỳ ngôn ngữ nào sử dụng phương pháp này.
Điều này đánh đố tôi. Có ai biết lý do tại sao zipđược thiết kế theo cách đó? Tôi đoán đối với các ngôn ngữ mới, nó được thực hiện bởi vì các ngôn ngữ khác làm theo cách này. Nhưng lý do gốc rễ là gì?
Tôi đang hỏi ở đây câu hỏi thực tế, dựa trên lịch sử, không phải nếu ai đó thích nó, hoặc nếu đó là một cách tiếp cận tốt hay xấu.
Cập nhật : Nếu tôi được hỏi phải làm gì, tôi sẽ nói - ném một ngoại lệ, khá giống với việc lập chỉ mục một mảng (mặc dù các ngôn ngữ "cũ" đã làm tất cả các loại phép thuật, làm thế nào để xử lý các chỉ số giới hạn, UB, mở rộng mảng, Vân vân).
zipWithIndexviệc cung cấp trình tạo số tự nhiên. Bây giờ, các mảnh chỉ thiếu thông tin - là những gì nó là lý do? :-) (btw. vui lòng đăng lại nhận xét của bạn dưới dạng câu trả lời, cảm ơn bạn).