barutanGNE's blog

kindleで読んだ本の感想や、プログラミングに関する記事など。

Haskell

HaskellとPythonで階差数列

Haskell版 Prelude> let diff ls = zipWith (-) (tail ls) ls Prelude> diff [1,2,3,4,5] [1,1,1,1] Prelude> diff [x^2 + x -1 | x <- [0..10]] [2,4,6,8,10,12,14,16,18,20] Python版 >>> f = lambda a, b: a-b >>> diff = lambda ls: map(f, ls[1:], ls) …

PythonのmapはHaskellのzipWith?

Pythonでmapを使う >>> f1 = lambda x: x * 2 >>> ls1 = map(f1, range(10)) >>> list(ls1) [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] >>> f2 = lambda x, y: x*2 + y*2 >>> ls2 = map(f2, range(10), range(10)) >>> list(ls2) [0, 4, 8, 12, 16, 20, 24, 28, 3…

JavaScriptでmap,filter,reduceなど

頑張ってHaskell, Pythonとの比較もしてみる。ちなみに自分は、Haskell、Python、JavaScriptと全てあまりレベルが高くないので、もっと簡潔に書ける可能性大いにあり。それほど大した例じゃないけれども。 ただ、出発点が 「Haskellで簡潔に書けるあれは、Ja…