StartprogrammingusingObjectPascal:OrdinalTypes

From 흡혈양파의 번역工房
Jump to: navigation, search

서수형(Ordinal types)

서수형은 숫자 대신 단어로 표기하는것을 사용할 수 있게 해주는 정수값들입니다. 예를 들어, 언어 변수(Arabic / English / French)를 정의하려 한다면, Arabic에 1을, English에 2를, French에 3을 사용할 수 있습니다. 다른 프로그래머들은 이 값에 대한 주석을 찾기 전에는 1 과 2, 3에 대한 값을 알지 못합니다. 다음 예제와 같이 서수형을 사용한다면, 좀 더 알아보기 쉬울 것입니다.

program OrdinalTypes;

{$mode objfpc}{$H+}

uses
    {$IFDEF UNIX}{$IFDEF UseCThreads}
    cthreads,
    {$ENDIF}{$ENDIF}
    Classes
    { you can add units after this };

type
    TLanguageType = (ltArabic, ltEnglish);

var
    Lang: TLanguageType;
    AName: string;
    Selection: Byte;
begin
    Write('Please select Language: 1 (Arabic), 2 (English)');
    Readln(Selection);

    if Selection = 1 then
        Lang:= ltArabic
    else
    if selection = 2 then
        Lang:= ltEnglish
    else
        Writeln('Wrong entry');

    if Lang = ltArabic then
        Write(' (' :ماهو اسمك
    else
    if Lang = ltEnglish then
        Write('What is your name: ');

    Readln(AName);

    if Lang = ltArabic then
    begin
        Writeln(' مرحباً بك ', AName);
        Write(' ;('الرجاء الضغط على مفتاح إدخال لغلق البرنامج
    end
    else
    if Lang = ltEnglish then
    begin
        Writeln('Hello ', AName);
        Write('Please press enter key to close');
    end;

    Readln;
end.


실수와 문자열은 서수형이 아닌 반면에 정수, 문자, boolean은 서수 형식입니다.