2009-06-04 17 views
5

Berkeley's "CS 61A Lecture 8: UI Recursion and Iteration III" dice che null? controlla se la lista è vuota e vuota? controlla se la lista è vuota o la parola è vuota? Il docente prosegue dicendo che (null? Empty) restituirà false. Ma a DrScheme non importa affatto.Differenza tra null? e vuoto? Schema

Qual è la differenza tra null? e vuoto? nello schema?

risposta

6

Nessuna differenza (nel mio dialetto preferito - empty? non è nello standard, ed è troppo lungo da quando ho usato un dialetto diverso;) ...! Citando PLT scheme docs:

(null? v) → boolean? 
    v : any/c 

Returns #t if v is the empty list, #f otherwise. 

e

(empty? v) → boolean? 
    v : any/c 

The same as (null? v). 
+0

è vuoto definito solo in PLTScheme? – unj2

+0

Non è nello standard, AFAIK, ed è passato troppo tempo da quando ho usato qualsiasi altro dialetto - farei meglio a modificare la risposta per suggerire che! -) –

+0

qual è il tuo dialetto preferito? – unj2

4

Né R5RS né R6RS definisce empty? come predicato, e definiscono la null? come segue:

ritorni #t se obj è il vuoto lista, altrimenti restituisce #f.

0

vuoto? è specifico per lo schema PLT; è uguale a null ?.

1

è possibile (definire vuoto? Nullo?) (definire vuoto '())

Problemi correlati