Harita işlevinin bir listenin (bir sıra) her öğesini aldığını ve ona bir işlev uygulayacağını biliyorum. Yinelemeli (ve sonlandırma koşulları bakımından, vs olmadan)Scala'daki alt listeler üzerinde haritalama
map(s, f) = f(s.head) :: map(s.tail, f)
ben yapan bir işlev için arıyorum
foo(s, f) = f(s) :: map(s.tail, f).
gibi bir şey Yani haritalama fonksiyonu sublists değil üzerinde çağrılan bir 'mapper' bireysel elemanlar. Lisp açısından, bir mapcar'ın aksine bir harita listesi arıyorum. Bunun gibi bir şey var mı, yoksa kendi başıma mı (veya özyinelemeyi kullanmalıyım) mi?
Alternatif olarak, girdi olarak bir diziyi alır ve orta uca altsekanslarına dizisi döndüren bir işlev, yani alırdım
Temelde İçinde aradığınızı tanımladığınızbar(s, f) = s :: bar(s.tail, f)
istenen giriş ve çıkış bir örnek verebilir misiniz? Takip etmekte zorlanıyorum. –
Bu sorunun cevabını bilmiyorum, ancak gelişmiş tür ve işlevlere gereksiniminiz varsa, bkz. Scalaz kitaplığı: http://code.google.com/p/scalaz/ – egaga