{"width":"100%","image_url":null,"published":"2008-04-10 00:00:01","version":"1.0","blog_url":"https://kiririmode.hatenablog.jp/","title":"\u554f\u984c3-25 (3.3.2  Representing Tables)","height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fkiririmode.hatenablog.jp%2Fentry%2F20080410%2Fp2\" title=\"\u554f\u984c3-25 (3.3.2  Representing Tables) - \u7406\u7cfb\u5b66\u751f\u65e5\u8a18\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","categories":["SICP"],"author_name":"kiririmode","blog_title":"\u7406\u7cfb\u5b66\u751f\u65e5\u8a18","type":"rich","url":"https://kiririmode.hatenablog.jp/entry/20080410/p2","provider_url":"https://hatena.blog","provider_name":"Hatena Blog","description":"\u4efb\u610f\u306e\u6b21\u5143\u306e\u30c6\u30fc\u30d6\u30eb\u306b\u4e00\u822c\u5316\u3059\u308b!! (define (make-table) (let ((local-table (list '*table*))) (define (lookup keys pointer) (let ((record (assoc (car keys) (cdr pointer)))) (if record (if (null? (cdr keys)) (cdr record) (lookup (cdr keys) record)) #f))) (define (insert! keys value pointer) (let ((record (assoc (car \u2026","author_url":"https://blog.hatena.ne.jp/kiririmode/"}