Subrangos y Ord en Delphi
El subrango TLane = 1..4 indexa un arreglo de tiempos por vuelta, y Ord va y vuelve con una letra.
program SubrangeOrd;
type
TLane = 1..4; // a subrange narrows a type's valid values
var
Splits: array[TLane] of Integer;
Lane: TLane;
Grade: Char;
begin
for Lane := Low(Splits) to High(Splits) do // a subrange indexes arrays
Splits[Lane] := 60 + Lane;
WriteLn('lane 3 swam ', Splits[3], ' seconds');
Grade := 'b';
// Ord reads a character's code and Chr turns the code back.
WriteLn(Grade, ' is code ', Ord(Grade), ', back to ', Chr(Ord(Grade)));
end.
Cómo funciona
TLane = 1..4;acota los valores, ySplits: array[TLane] of Integerse indexa con él.for Lane := Low(Splits) to High(Splits) dorecorre el subrango de punta a punta.Ord(Grade)da el código de'b', yChr(Ord(Grade))lo devuelve a letra.
Palabras clave y builtins usados aquí
CharChrHighIntegerLowOrdWriteLnarraybegindoendforofprogramtotypevar
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 465
- Tokens
- 106
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 85 segundos.
Paso 3 de 3 en Enums y conjuntos; paso 18 de 27 en Fundamentos del lenguaje.