equal?
kwiecień 24th, 2009 at 8:43 pm (scheme)
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)]))