Wie kann ich den Typ der Felder in dieser Struktur erzwingen?Wie erzwinge ich das Feld einer Struktur zu einem bestimmten Typ?
#lang racket
(struct Car (model year))
Ich habe versucht, einen Vertrag mit (aber da ich Schläger neu bin, tut dies nicht offensichtlich ... arbeiten: P)
(provide (contract-out
[Car (string? integer? . -> . Car?)]))
Beispiel: Diese succeds aber es nicht ... sollte
(define my-car (Car 2008 "A3"))
Leider ist es nicht überall geschrieben zu sein scheint, wie dies getan.
BTW eine coole Sache, über Verträge ist, dass sie in einem C/C++ Sinne nicht beschränkt auf "Typen" sind. Wenn zum Beispiel das Automobil 1769 erfunden wurde, dann könnte Ihr Vertrag für "Jahr" '(und/c Ganzzahl? (>/C 1768))' anstelle von nur 'Ganzzahl? 'Sein. ;) –
Vielen Dank, es hat perfekt funktioniert :) – TesX