www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

helmut

Gepostet:
02.04.2006 11:13

Listen der Form (x:xs)  
Hallo,
zum Einstieg in Haskell arbeite ich das Tutorial von Hal Daume durch (http://www.isi.edu/~hdaume/htut/).
Im Abschnitt "Recursion" werden zwei "eingebaute" Listen-Funktionen nachprogrammiert, length und filter:
my_length [] = 0
my_length (x:xs) = 1 + my_length xs


my_filter p [] = []
my_filter p (x:xs) =
if p x
then x : my_filter p xs
else my_filter p xs

Unverstaendlich ist mir der Ausdruck (x:xs); im Tutorial steht ohne weitere Erlaeuterung:
"When presented with a list of the form (x:xs), ... ". Welche Bedeutung hat diese Listenform?
Vielen Dank vorab fuer eine Antwort.

Gruss, Helmut
Zum Seitenanfang    
 
Jacke

Gepostet:
02.04.2006 20:25

   
also x:xs ist eine liste...dabei ist x der kopf der liste und xs der rest der liste... der ":"-operator verbindet beide...
hat man nun eine liste [1,2,3,4]
und schreibt eine funktion:

kopf (x:xs)=x

dann gibt diese funktion kopf [1,2,3,4]

1 zurück

ende (x:xs)=xs

und die funktion ende [1,2,3,4]

gibt
[2,3,4]
zurück

falls dir noch was unklar ist einfach fragen

gruß jacke


Zum Seitenanfang    
 
helmut

Gepostet:
04.04.2006 12:59

   
Hallo jacke,

vielen Dank für die schnelle Antwort - und ich bin ueberzeugt, die naechste Frage kommt bald.

Gruss, Helmut
Zum Seitenanfang