- お知らせ -
  • 当wikiのプログラムコードの表示を直してみました(ついでに長い行があると全体が下にぶっ飛ぶのも修正)。不具合があればBBSまでご連絡下さい。

D Edit

enum自身がnamespaceを作るところはDelphiよりよい(受け継いだC++の利点か)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
enum Hoge {
  MOGE,
  XYZZY,
  HAGE = XYZZY + 4
}

void main()
{
  printf("Hoge.MOGE = %d\n", Hoge.MOGE);
  printf("Hoge.XYZZY = %d\n", Hoge.XYZZY);
  printf("Hoge.HAGE = %d\n", Hoge.HAGE);
  printf("Hoge.min = %d\n", Hoge.min);
  printf("Hoge.max = %d\n", Hoge.max);
  
  Hoge hoge = Hoge.XYZZY;
  printf("hoge = %d\n", hoge);
  hoge++;
  printf("hoge = %d\n", hoge);
}
Hoge.MOGE = 0
Hoge.XYZZY = 1
Hoge.HAGE = 5
Hoge.min = 0
Hoge.max = 5
hoge = 1
hoge = 2

Delphi Edit

THoge.Mogeみたいに指定できないこともあり、VCLに習うならprefixをつけるのが慣習かも。
例: psSolid, pmBlack

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program main;

{$APPTYPE CONSOLE}
type
  THoge = (
    Moge,
    Xyzzy,
    Hage = Xyzzy + 4
  );
var
  Hoge: THoge;
begin
  Writeln('Moge = ', Ord(Moge));
  Writeln('Xyzzy = ', Ord(Xyzzy));
  Writeln('Hage = ', Ord(Hage));
  Writeln('Low(THoge) = ', Ord(Low(THoge)));
  Writeln('High(THoge) = ', Ord(High(THoge)));
  
  Hoge := Xyzzy;
  Writeln('Hoge = ', Ord(Hoge));
  Inc(Hoge);
  Writeln('Inc(Hoge) = ', Ord(Hoge));
end.
Moge = 0
Xyzzy = 1
Hage = 5
Low(THoge) = 0
High(THoge) = 5
Hoge = 1
Inc(Hoge) = 2



Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New Pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2005-07-19 Tue 15:27:11 JST (5257d)