D Language
kontrakt
Sök…
Anmärkningar
Påståendena kommer att optimeras bort i en release-version.
Funktionskontrakt
Funktionskontrakt gör det möjligt för programmeraren att kontrollera om det är inkonsekvent. Oförenlighet inkluderar ogiltiga parametrar, kontroller för rätt returvärde eller ett ogiltigt tillstånd för objektet.
Kontrollerna kan ske före och efter att funktionen eller metoden har utförts.
void printNotGreaterThan42(uint number)
in {
assert(number < 42);
}
body {
import std.stdio : writeln;
writeln(number);
}
Påståendena kommer att optimeras bort i en release-version.
Funktionskontrakt
Om till exempel en metod åberopas kanske objektets tillstånd inte tillåter att en metod anropas med specifika parametrar eller inte alls.
class OlderThanEighteen {
uint age;
final void driveCar()
in {
assert(age >= 18); // variable must be in range
}
body {
// step on the gas
}
}
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow