typestar

Tipos enumerados en Delphi

TPhase nombra las cuatro fases de la luna, y un case elige la línea que se imprime.

program EnumsBasics;
type
  TPhase = (Dark, Waxing, Full, Waning);
var
  Phase: TPhase;
begin
  Phase := Full;
  case Phase of              // case branches on the value, not on a number
    Dark: WriteLn('no moon tonight');
    Waxing: WriteLn('growing');
    Full: WriteLn('full moon');
    Waning: WriteLn('shrinking');
  end;
  // Ord gives the position in the list, counting from zero.
  WriteLn('ord ', Ord(Phase), ', prev ', Ord(Pred(Phase)));
  WriteLn('next phase ', Ord(Succ(Phase)));   // Succ steps forward one
end.

Cómo funciona

  1. TPhase = (Dark, Waxing, Full, Waning); declara cuatro valores con nombre, en orden.
  2. case Phase of se ramifica sobre el valor mismo, con una rama por fase.
  3. Ord(Phase) da su posición, mientras que Pred y Succ retroceden y avanzan.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
495
Tokens
108
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 86 segundos.

Escribe este fragmento

Paso 1 de 3 en Enums y conjuntos; paso 16 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →