Ich bin ein Neuling in der Ocaml. zu schätzen, wenn jemand mir helfen kann zu verstehen, das Material auf Seite 94 des Buches "Entwicklung von Anwendungen mit objektiven Caml vorgestellt".Verständnis einer Imperativ Liste Beispiel in Ocaml
Probleme, die Bedeutung des folgenden Absatzes zu erfassen:
Nur, dass die Bewertung der
(itl l)
Platz vor der Auswertung von(ihd l)
genommen hat, so dass bei der letzten Iteration vonimap
, die Liste referenziert vonl
wurde die leere Liste, bevor wir seinen Kopf untersuchten. Die Liste Beispiel ist von nun an definitiv leer, obwohl wir kein Ergebnis erhalten haben
Das imap (function x ! x)
Beispiel gibt
Uncaught exception: Failure("hd")
statt
- : string ilist = {c=["one"; "two"; "three"]}
Ich würde denken, dass die
else icons (f (ihd l)) (imap f (itl l))`
icons("one") ((icons("two") ((icon("three")([]))))
und zurück
- : string ilist = {c=["one"; "two"; "three"]}
danke für Ihre ausführliche Erklärung – ocamlNewcomer