C # , Scala, Haskell, Lisp dan Python memiliki zipperilaku yang sama : jika satu koleksi lebih panjang, ekor diabaikan secara diam-diam.
Ini bisa menjadi pengecualian yang dilemparkan juga, tetapi saya tidak mendengar adanya bahasa yang menggunakan pendekatan ini.
Ini membuatku bingung. Adakah yang tahu alasan mengapa zipdirancang seperti itu? Saya kira untuk bahasa baru, ini dilakukan karena bahasa lain melakukannya dengan cara ini. Tapi apa alasan dasarnya?
Saya mengajukan pertanyaan faktual, berbasis sejarah di sini, bukan apakah seseorang menyukainya, atau apakah itu pendekatan yang baik atau buruk.
Pembaruan : Jika saya ditanya apa yang harus dilakukan, saya akan mengatakan - melemparkan pengecualian, cukup mirip dengan pengindeksan array (meskipun bahasa "lama" melakukan semua jenis sihir, bagaimana menangani indeks di luar batas, UB, memperluas array, dll).
zipWithIndexmenyediakan bilangan alami. Sekarang, bagian hanya hilang info - apa itu alasannya? :-) (btw. tolong posting ulang komentar Anda sebagai jawaban, terima kasih).