immutable.Set için tanımlanır:Scala'da neden katlama tipi var? Yol kat bakıyordu
def fold [A1 >: A] (z: A1)(op: (A1, A1) ⇒ A1): A1
henüz foldLeft olarak tanımlanır:
def foldLeft [B] (z: B)(op: (B, A) ⇒ B): B
Bu günümüze dek, en azından ilk bakışta, benim için garip görünüyor foldLeft'in yaptığı gibi geri döndüğü koleksiyonun türünü değiştirebilmek için katlamayı bekliyordu.
Bunun sebebi, katlama ve katlama özelliklerinin, katların katlandığı sırayla ilgili bir şey garanti etmesinden kaynaklanmaktadır. Katlama ile verilen garanti nedir?
Jean-Philippe'in cevabı size yardım ediyor mu? Bkz. Http://stackoverflow.com/questions/6253978/difference-between-fold-and-foldleft-or-foldright –
Bir bakıma, sanırım. Katmanın, toplama API'sinde katlanmadan farklı bir sonuç döndüreceği bir durum görmedim, ancak sanırım bu ayrımın gerekli olduğu bazı uygulamaların var olabileceğini tahmin ediyorum. Bağlantı için teşekkürler. –