Re: 配列の隣接する2項にそれぞれ演算を施した配列


Squeak Smalltalk には overlappingPairsCollect: という名前で標準装備されています。

もちろん等差数列を作るのにもこの関数は使えるのですが、この一般的に使える関数に使う名前としてはあまりに局所的。というわけで mapBetween としてみました。使いどころはかなり多そうです。各言語に標準装備されていないのがちょっと不思議なほど。

404 Blog Not Found:algorithm - mapBetween - 配列の隣接する2項にそれぞれ演算を施した配列
#(1 2 3 4 5) overlappingPairsCollect: #+
=> #(3 5 7 9)


蛇足ですが Smalltalk ではメソッド名のコロンは飾りではなく、コロンが付く場合、それ(複数含むときはそれら)も含めてのメソッド名です。たとえば hoge: と hoge は(たんに引数を「とる」「とらない」という区別以上に―)名前の異なる別メソッドとして明確に区別されます。Smalltalk の t が小文字なのと同じくらいに大事なことなのでご注意あれ、かし。