typestar

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

  1. TLane = 1..4; acota los valores, y Splits: array[TLane] of Integer se indexa con él.
  2. for Lane := Low(Splits) to High(Splits) do recorre el subrango de punta a punta.
  3. Ord(Grade) da el código de 'b', y Chr(Ord(Grade)) lo devuelve a letra.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

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

← Anterior Siguiente →