おたっく's blog

プログラミングなど技術的なことを中心に書きます。

JavaScriptでSICPを勉強する その4

「JavaScriptでSICPを勉強する その4」です。2.1.3 データとは何か (p.51) schemeではcar, cdr, consという3つの演算子が非常に重要な役割を果たしています。consを使って2つのオブジェクトを糊づけでき、そのオブジェクトはcar, cdrを使って取り出すことが…

JavaScriptでSICPを勉強する その3

「JavaScriptでSICPを勉強する その3」です。1.3 高階手続きによる抽象 (p.31) 例えば という計算がしたいときは関数を引数に取る関数sigmaを定義するとよいでしょう。 scheme (define (sigma a b f) (if (> a b) 0 (sigma (f a) b sigma))) (define (f x) (…

JavaScriptでSICPを勉強する その2

「JavaScriptでSICPを勉強する その2」です。1.2 手続きとその生成するプロセス (p.17) 階乗を計算する関数factorialについて考えてみましょう。 scheme (define (factorial n) (if (= n 1) 1 (* n (factorial (- n 1))))) JavaScript function factorial(n)…

JavaScriptでSICPを勉強する その1

「JavaScriptでSICPを勉強する その1」です。「Schemeのコードを読んでも理解できないならJavaScriptで書いたら理解できるかも!」と思い記事を書きました。schemeとJavaScriptのコードを見比べて理解を深めていきます。主に自分の理解を深めるために記事を…

JavaScriptでSICPを勉強する!

SICP(計算機プログラムの構造と解釈)という有名な本を読んでいて、私にはどうしてもschemeのコードが理解しづらかったのでJavaScriptに書き換えたら少しは理解しやすくなるのではないかと思いこの記事を書きました。 JavaScriptでSICPを勉強する その1 JavaS…

Advent Calendar Advent Calendar 10日目

この記事は Advent Calendar Advent Calendar 10日目の記事です。前の人は @daimatz さん でした。 今日は あまり知られていないけど役に立つJavascript tips Advent Calendar 2012 を紹介します。 私は個人的にJavaScriptが好きでしばしばJavaScriptのコー…