Hatena::Grouperlang

檜山正幸のErlang未確認情報 RSSフィード

 | 

2009-03-26 (木)

foldlとfoldr

| 16:45

「Before/Afterリスト方式によるストリーム風処理」に書いたように、リストの順番が逆転する現象がよく起こる。僕は順番関係が非常に苦手。当然にfoldlとfoldrの区別も分からなくなる。毎回、短いサンプルを書く。

7> lists:foldl(fun(X, A)->[X|A] end, [], [1, 2, 3]).
[3,2,1]
8> lists:foldr(fun(X, A)->[X|A] end, [], [1, 2, 3]).
[1,2,3]
9> 

ってことは(と、ここでまた混乱している)。'l'が左から見ていくのか(なにしろ'l'だからな)。だが、consで積み上げていくときは、'r'を使えばreverseしなくて済む、と。

どうせ忘れるけど。

 |