« Fibonacci, Bäume und Quadrate (2) | Main| Microsoft und JQuery »

Typen ettiketieren ?

0
Category  
Tja, nachdem ich mir ja nun in Scheme ein paar Datenstruktueren angeschaut habe, habe ich festgestellt, dass die Daten ja mittels Listen und Paaren realisiert werden.

Bleibt nur die Frage, wie kann man die nun unterscheiden?
In der deutschen Übersetzung nennen sie es Typen etikettieren, da gefällt mir die englische Variante mit tagged data ein wenig besser.
Wie funktioniert dies?

Na ja, eigentlich ist es ganz einfach.

Aus dem datum und dem tag erzeugt man ein "Paar".
Mittels folgender Prozedur ->

(define (attach-tag type-tag contents)
  (cons type-tag contents))

der type-tag ist einfach ein Symbol, welches man für einen Typen definiert z.B. 'rat für rationale Zahlen.
Rationale Zahlen kann man als Paar von Zahlen (Zähler / Nenner) definieren, z.B. ( 1, 1 ) für die 1.
Mittels der Prozedur -> attach-tag würde dann daraus ein ('rat, ( 1 , 1 ) ) werden.

Die folgenden Prozeduren, lesen dann einmal das Tag und einmal den Content aus.

(define (type-tag datum)
  (if (pair? datum)
      (car datum)
      (error "Bad tagged datum -- TYPE-TAG" datum)))
(define (contents datum)
  (if (pair? datum)
      (cdr datum)
      (error "Bad tagged datum -- CONTENTS" datum)))


Gruß JJR
P.S.: Heute ein wenig kurz, vor ein paar Stunden erst aus Carolinensiel zurückgekehrt.

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2