Tamamen işlevsel bir şekilde bir javascript ışın döküm noktası-çokgen algoritması uyguluyorum (bunun arkasında belirli bir neden yok).Haskell'in unzip'inin js versiyonunu tamamen işlevsel bir şekilde uygulamak mümkün mü?
2 boyutlu bir diziden iki dizi almak gerektiğinden takılıp kaldım (bir liste listesi çoğaltmak); Haskell'in unzip
'a benzeyen bir şey.
[[a,b],[c,d],[e,f]]
gibi bir şeyden başlayarak, [[a,c,e],[b,d,f]]
prosedürural stil yineleme kullanmadan elde etmek mümkün mü?
DÜZENLEME: netleştirmek için, zip
ve unzip
'u nasıl uygulayacağımı biliyorum: for
döngüler ve değişken yeniden atamalar olmadan bunları uygulamak mümkün olabilirdi.
JavaScript ve Haskell'in bir listenin temsili arasındaki fark göz önüne alındığında, bunlar aynı şekilde uygulanamaz. Haskell, listeleri tek tek bağlı değişmez bir yapı olarak uygular. Java, listeleri değiştirilebilir bir dizi olarak uygular. İlk için yineleme ve desen eşleştirmesi kullanın. İkincisi için, döngüler ve dizinler için kullanın. –
Hm, Js'nin listelerinin olmadığını biliyorum. Kısıtlı bir alanda, belirli bir işleve atıfta bulundum - "sonsuz diziler" (lulz) veya benzeri üzerinde çalışmak için ona ihtiyacım yoktu. – cbrandolino