Я понимаю, это представление:foldr лямбда-представление - Haskell
(foldr(\x acc -> x+10*acc) 0 n)
Но в последнее время я сталкивался с этим, что я еще не видел:
(foldr ((+) . aux . (\(a,b,c) -> c)) 0 list)
Краткое объяснение было бы более чем приветствовать!
'.' является оператором композиции функций. '(f. g) x == f (g x)'. –
Почему бы кто-нибудь это делать не по себе. Кроме того, что он не читается, он также неэффективен. – dfeuer
, который один из 2 является неэффективным? Я считаю, что второй немного более неэффективен, но это было любопытно. Это имеет смысл сейчас, хотя :) – skills