問題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