Beste Weg, um zu überprüfen, ob die Liste nicht null ist?
In Common Lisp, wenn ich wollte, um zu überprüfen, ob eine Liste war nicht null, ich könnte einfach die Liste selbst, als die Bedingung, da alle nicht-null-Listen gelten als wahr. Allerdings finde ich, dass im Schema, das gleiche zu tun, machen Schema denken, dass ich versuche, eine Funktion aufzurufen. Gibt es einen besseren Weg, um zu überprüfen, ob oder nicht, eine Liste ist null-Schema als weitere Funktion definieren, die nicht (not (null? x))
?
Was meinst du mit 'wird das Schema-denken Sie, daß ich versuche, eine Funktion aufzurufen' ?
Schema beschwert sich, wenn ich eine Liste (die übergeben wird als Funktions-parameter), die als bedingtes. Ich schaute auf die Beschwerde bei Google und anscheinend Regelung ist es, zu versuchen, rufen Sie die Funktion mit dem Namen des ersten Elements in der Liste, und da die Funktion nicht vorhanden ist, die Regelung beschwert
Klingt wie Sie nicht das zitieren der Liste, iow
Aber ich kann nicht zitieren, wenn eine Funktion parameter, da werde ich dir mitteilen, dass System zu verwenden das symbol statt der Liste die variable Punkte zu
Sorry, ich habe keine Ahnung, was du meinst, bitte geben Sie einige code-Beispiele, was Sie erwarten und was Sie tatsächlich bekommen, wird die Fehlermeldung auch willkommen sowie Ihre Scheme-Implementierung.
Schema beschwert sich, wenn ich eine Liste (die übergeben wird als Funktions-parameter), die als bedingtes. Ich schaute auf die Beschwerde bei Google und anscheinend Regelung ist es, zu versuchen, rufen Sie die Funktion mit dem Namen des ersten Elements in der Liste, und da die Funktion nicht vorhanden ist, die Regelung beschwert
Klingt wie Sie nicht das zitieren der Liste, iow
(1 2 3)
vs '(1 2 3)
wobei letztere die richtige. leere Listen müssen auch zitiert werden, iow '()
.Aber ich kann nicht zitieren, wenn eine Funktion parameter, da werde ich dir mitteilen, dass System zu verwenden das symbol statt der Liste die variable Punkte zu
Sorry, ich habe keine Ahnung, was du meinst, bitte geben Sie einige code-Beispiele, was Sie erwarten und was Sie tatsächlich bekommen, wird die Fehlermeldung auch willkommen sowie Ihre Scheme-Implementierung.
InformationsquelleAutor wrongusername | 2011-09-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schema, alles was nicht
#f
ist truthy, so'()
ist als#t
imif
Aussagen.So,
Mit
(not (null? x))
ist der einfachste Weg, zu überprüfen, ob die Liste nicht null ist: es beschreibt genau, was Sie wollen, und in der Ecke Fällen, in denen Sie gegeben sind-etwas, das nicht eine Liste, es wird Ihnen unterschiedliches Verhalten:InformationsquelleAutor erjiang
Wenn Sie wissen, dass es ist eine Liste, die Sie verwenden können
(pair? x)
, da jede Liste ist entweder ein paar oder'()
.InformationsquelleAutor Sam Tobin-Hochstadt