問題4.62 – SICP(計算機プログラムの構造と解釈)その235
2009年08月04日
問題4.62
リストの car が x で、cdr が () の場合 x が最後の要素となる。
任意の x, y, z において、y が最後の要素 z であるならば、(cons x y) の最後の要素は z となる。
(assert! (rule (last-pair (?x . ()) (?x)))) (assert! (rule (last-pair (?x . ?y) ?z) (last-pair ?y ?z)))
実行結果
;;; Query input: (last-pair (3) ?x) ;;; Query results: (last-pair (3) (3)) ;;; Query input: (last-pair (1 2 3) ?x) ;;; Query results: (last-pair (1 2 3) (3)) ;;; Query input: (last-pair (2 ?x) (3)) ;;; Query results: (last-pair (2 3) (3)) ;;; Query input: (last-pair ?x (3)) 無限ループ...
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542
