StartprogrammingusingObjectPascal:Sets

From 흡혈양파의 번역工房
Revision as of 10:13, 26 July 2012 by Onionmixer (talk | contribs) (SPOP 셋 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

셋 형식은 하나의 변수에 여러가지 속성이나 특징을 지닐 수 있습니다. 셋은 서수 값으로만 사용 합니다.

예를 들어, 프로그램에 운영체제 지원에 대해 정의하려 한다면, 다음처럼 할 수 있습니다.

1. 운영 체제를 나타내는 서수 형식을 정의합니다: TApplicationEnv

TApplicationEnv = (aeLinux, aeMac, aeWindows);

2. 프로그램을 TApplicationEnv의 셋으로 정의합니다.BR 예를 들면

FireFox: set of TApplicationEnv;

3. 프로그램 셋 변수에 운영체제 값을 넣습니다.

FireFox:= [aeLinux, aeWindows];
Program Sets;

{$mode objfpc}{$H+}

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

type
    TApplicationEnv = (aeLinux, aeMac, aeWindows);
var
    FireFox: set of TApplicationEnv;
    SuperTux: set of TApplicationEnv;
    Delphi: set of TApplicationEnv;
    Lazarus: set of TApplicationEnv;
begin
    FireFox:= [aeLinux, aeWindows];
    SuperTux:= [aeLinux];
    Delphi:= [aeWindows];
    Lazarus:= [aeLinux, aeMac, aeWindows];

    if aeLinux in Lazarus then
        Writeln('There is a version for Lazarus under Linux')
    else
        Writeln('There is no version of Lazarus under linux');
    if aeLinux in SuperTux then
        Writeln('There is a version for SuperTux under Linux')
    else
        Writeln('There is no version of SuperTux under linux');
    if aeMac in SuperTux then
        Writeln('There is a version for SuperTux under Mac')
    else
        Writeln('There is no version of SuperTux under Mac');
    Readln;
end.

또한 정수들

    if Month in [1, 3, 5, 7, 8, 10, 12] then
        Writeln('This month contains 31 days');

또는 문자들 같은 다른 서수 형식에 대한 셋 구문을 사용할 수 있습니다.

    if Char in [a, A] then
        Writeln('This letter is A');