Lisp, Verständnisproblem

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von FM41, 02.03.2008.

  1. FM41

    FM41 Jungspund

    Dabei seit:
    27.02.2008
    Beiträge:
    15
    Zustimmungen:
    0
    hallo,

    ich arbeite gerade den online LISP Kurs der UNI Trier durch.

    Die Aufgabe lautet
    und die Lösung
    Code:
    (DEFUN NREST (ITEM LIST)
        (1- (LENGTH (MEMBER ITEM LIST))))
    
    Bis zu dem Length bin ich gekommen, aber warum das 1- ? Ich habe nirgendwo eine Erklärung dafür gefunden.

    besten Dank, gruß
    Felix
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. nyx

    nyx Grünschnabel

    Dabei seit:
    09.02.2007
    Beiträge:
    9
    Zustimmungen:
    0
    Wenn das Element nicht in der Liste ist, ist der Wert von (length (member item list)) 0. (1- 0) <=> (- 0 1) => -1.

    Wenn das Element in der Liste ist, ist der Wert von (member item list) der Teil der Liste ab 'item' (inklusive).
    Beispiel:
    Code:
    (member 3 (list 1 2 3 4 5 6))
    > (3 4 5 6)
    (length (list 3 4 5 6))
    > 4
    Hier stehen ja nach der Zahl 3 noch drei Elemente in der Liste, also muss man vom Rueckgabewert von (length (member list item)) 1 subtrahieren, weil man sonst das gesuchte Element (item) selbst mitzaehlen wuerde.

    Ich hoffe, das ist jetzt ein bisschen klarer :)
     
  4. FM41

    FM41 Jungspund

    Dabei seit:
    27.02.2008
    Beiträge:
    15
    Zustimmungen:
    0
    hallo nyx, vielen Dank nun habe ich es verstanden! Das Ausschlaggebende war (1 - 0) <=> (- 0 1) , ich wusste nicht das dies Äquivalent ist.

    vielen Dank, gruß
    Felix
     
  5. nyx

    nyx Grünschnabel

    Dabei seit:
    09.02.2007
    Beiträge:
    9
    Zustimmungen:
    0
    Falls du die Seite noch nicht kennst, auf Common Lisp Hyper Spec kannst du solche Sachen nachschauen, ist ganz nuetzlich.
     
  6. FM41

    FM41 Jungspund

    Dabei seit:
    27.02.2008
    Beiträge:
    15
    Zustimmungen:
    0
    danke für den Link das scheint mir wirklich sehr hilfreich. 1- und 1+ sind quasi wie i++ oder i-- . Besten dank!

    gruß
    Felix
     
  7. Lesco

    Lesco segmentation fault

    Dabei seit:
    18.12.2005
    Beiträge:
    67
    Zustimmungen:
    0
    Ort:
    Hessen
    Ich weiß der Thread ist schon fast einen Monat alt und das Problem schon gelöst, doch die Aussage will ich dennoch ungern so stehen lassen: 1+ und 1- unterscheiden sich von i++ und i-- darin, dass die Variable nicht verändert wird. i++ verändert die Variable, 1+ tut dies nicht:
    Code:
    > (setf a 3)
    3
    > (1+ a)
    4
    > a
    3
    
    Die Lisp-Äquivalente zu i++/i-- wären (setf i (1+/- i)) oder (incf/decf i).
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Lisp, Verständnisproblem

Die Seite wird geladen...

Lisp, Verständnisproblem - Ähnliche Themen

  1. grep verständnisproblem

    grep verständnisproblem: Hallo ich hatte ja lange keine anfängerfragen mehr :P Deswegen hier mal eine zu grep: Ich habe eine Textdatei: Hamburg Aschaffenburg...
  2. Verständnisproblem fseek und fgetpos

    Verständnisproblem fseek und fgetpos: Moin, ich würde gerne wissen wie man ANSI C gerecht in einer Datei navigiert. In meinem Buch "Linux/Unix Systemprogrammierung" von Helmut Herold...
  3. Verständnisproblem mit array in bash

    Verständnisproblem mit array in bash: Hi zusammen für jedes der Elemente in meinem Skript möchte ich eine Aktion starten und bei Erfolg das Element aus dem Array löschen. Das...
  4. Unix Grundlangen Verständnisproblem

    Unix Grundlangen Verständnisproblem: Einen schönen guten Abend Forum! Hintergrundinformation: Ein Perlscript listet mir den Inhalt eines Verzeichnis in eine Datei. Diese Einträge,...
  5. Winbind Verständnisproblem

    Winbind Verständnisproblem: Hallo Leute, ich habe eine Frage die mich sehr beschäftigt. Ich habe jetzt meine Samba-Server in meine ADS gehangen und es funzt soweit alles...