Modius - Techblog

  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

Dr. Racket 5.3.1: Anlegen und verwenden von structs

Veröffentlicht am 20. Februar 2013 von Christian Piazzi 4 Kommentare , Aktualisiert am 13. Februar 2013
Geschätzte Lesezeit: 45 Sekunden

In dem heutigen Artikel will ich euch etwas zu structs erzählen und wie ihr diese in Dr. Racket verwendet.

Ein struct ist im wesentlichen ein Verbund von Datensätzen. Dieser Verbund kann aus verschiedene Datenypen zusammengesetzt werden (Zahle, Texte, Characters). Ich werde euch das einfach mal an einem Beispiel erklären.
Dafür öffnen wir unser Entwicklungsumgebung Dr. Racket. Hier wollen wir nun ein struct anlegen, in dem wir Kontakte mit einem Namen und einer Telefonnummer anlegen wollen.
Dafür verwenden wir den folgenden Befehl:

Scheme
1
(define-struct kontakte (name nummer))

Jetzt haben wir unser struct in Dr. Racket erstellt. Nun müssen wir diese noch mit Daten füllen. Dafür verwenden wir den folgenden Aufruf:

Scheme
1
(define test (make-kontakt „Max Mustermann“ „12345-09876“))

Wir haben nun den ersten Eintrag in unserem struct. Dieser hat den Namen test bekommen. Diesen Namen benötigen wir, um die Daten wieder Abfragen zu können. Anschließen erstellen wir mit dem Befehl make-kontakt die Inhalte des Eintrages test.

Nun wollen wir uns mal den Inhalt des structs ausgeben lassen. Als erstes den eingetragenen Namen und als zweites die eingetragene Telefonnummer.

Scheme
1
2
(kontakt-name test)
(kontakt-nummer test)

Kategorie: Programmierung Tags: Datenfelder, Dr. Racket, Dr. Scheme, funktional, Programmierung, struct

Über Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Kommentare

  1. kkm meint

    12. Dezember 2013 um 14:15

    Hallo,

    ich bin gerade dabei so eine Datenstruktur erstellen zu wollen, allerdings gibt mir DrRacket jedes Mal einen Fehler.
    „Ungebundene Variable“, wenn ich (define-struct …()) verwende.
    Woran koennte das liegen?

    Antworten
    • Christian Piazzi meint

      12. Dezember 2013 um 14:20

      Heyho,

      damit ich das genauer nachvollziehen kann, bräuchte ich deinen Code bzw. den Teil des Codes um den es geht.
      Was hast du den für ein Programmier Level eingestellt? Könnte theoretisch auch daran liegen.

      Gruß

      Christian

      Antworten
  2. Jonathan meint

    24. Juli 2017 um 18:15

    ich weiß, es ist eine weile her…
    das liegt am copy-paste ;-) es müssen Hochkommata bei den Strings sein und bei define-struct „kontakt“ heißen, nicht „kontaktE“.

    also:
    (define-struct kontakt (name nummer))
    (define test (make-kontakt „Max Mustermann“ „12345-09876“))

    Bei der Gelegenheit:
    Kennst du Dich auch mit (define-type aus Christian?? Das müsste so ähnlich sein, oder?
    LG

    Antworten
    • Christian Piazzi meint

      25. Juli 2017 um 14:46

      Hallo Jonathan,

      denke define-type werde ich demnächst mal erklären. Ich bin gerade am überlegen bzw. planen die Artikelreihe einmal neu aufzusetzen =)

      LG

      Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Beliebte Artikel

  • Docker Container – anzeigen, starten, stoppen und löschen
  • Nextcloud https mit self-signed Zertifikat einrichten
  • ioBroker auf dem Raspberry Pi installieren und konfigurieren
  • Soft- und Hardlinks unter Linux
  • Arten von Betriebssystemen

Neueste Kommentare

  • Docker Compose Guide - Modius - Techblog bei Docker Compose – Automatisiertes starten von Microservices
  • Keksiminer bei Minecraft Bukkit Server – dynmap installieren und konfigurieren
  • Thorben bei Nextcloud https mit self-signed Zertifikat einrichten
  • Sepp bei Automatisierte Dokumentation von Python Projekten mit sphinx
  • Sascha bei Arduino – 4fach 7-Segmentanzeige mit Schieberegister

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos CentOS7 centos 7 Container Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga2 Icinga 2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Windows Wordpress

Copyright © 2023 · Outreach Pro on Genesis Framework · WordPress · Anmelden