Enumerations的第一个编程语言是什么?

时间:2015-10-07 14:50:31

标签: c swift enums enumeration

我正在阅读{{3}}指南中有关Swift <ControlTemplate TargetType="{x:Type ListViewItem}"> 的内容,文字正在比较Swift&#39; // Part (a) int data[] = new int[21]; for (int i = 1; i < 21; i++){ data[i]=5*i; } // Part (b) int sum=0; for(int i = 1; i < 21; i++){ System.out.print(data[i] + " "); sum+= data[i]; if(i%10==0) { System.out.println(" Sum: " + sum); sum = 0; } } System.out.println(); // Part (c) int sum2=0; for(int i = 1; i < 21; i++){ System.out.print(data[21-i] + " "); sum2+= data[21-i]; if(i%5==0) { System.out.println(" Sum: " + sum2); sum2 = 0; } } System.out.println(); // Part (d) int sum3=0; for(int i= 2; i < 22; i = i+2){ System.out.print(data[i-1] + " "); sum3+= data[i-1]; if(i % 10 == 0){ System.out.println(" Sum: " + sum3); sum3 = 0; } } System.out.println(); // Part (e) int sum4=0; for(int i=2;i<21;i=i+2){ System.out.print(data[i] + " "); sum4+= data[i]; if(i % 10==0){ System.out.println(" Sum: " + sum4); sum4 = 0; } } 和C&#之间的差异39; s enum。这使我对最初的枚举来自何处感到好奇。我在询问之前在线搜索,甚至询问了一些人,他们假设 C.(我想我是否试图确认枚举是否来自C。)

问题

第一种包含枚举的编程语言是什么?

2 个答案:

答案 0 :(得分:14)

Pascal枚举了类型,但没有使用关键字enum。 AFAIK,关键字enum最初是由C使用的,但这个概念相当大。

请参阅Enumerated type上的维基百科,例如:

type
  cardsuit = (clubs, diamonds, hearts, spades);
  card = record
           suit: cardsuit;
           value: 1 .. 13;
         end;
var
  hand: array [ 1 .. 13 ] of card; 
  trump: cardsuit;

我认为Pascal是维基百科页面上列出的最古老的语言。所提到的LISP是Common Lisp,即使原始的LISP在Pascal之前也很容易过时,它也是Pascal的后期。

1970年的

The Programming Language Pascal在6.1.1标量类型中列出了这些类型,因此出于所有实际目的,这些枚举类型一直是Pascal的一部分。请参阅documents网站上的Standard Pascal页面。修订后的报告也可在那里(1972年)获得,可能是更广泛阅读的文件。当然,您也可以在维基百科上跟踪Pascal

(可能还有另一种类似功能的早期语言;我没有确定它,但我没有到处看。但是Algol-60不是这样的语言; Fortran或Cobol也不是.Algol -68和PL / 1是可能的竞争者。)

答案 1 :(得分:2)

Algol 68没有枚举。 PL /我没有枚举。 历史性的Lisp根本没有编译时类型的概念。 Algol W和Simula 67没有枚举。说来也怪, COBOL不仅是一个可能的竞争者,而且最有可能 一。不是它有用户可定义的类型,而是查找 “88级”。 Burroughs Algol的宏观设施, SAIL,CORAL 66和RTL / 2可用于给数字命名, 这几乎就像C的相当破碎的枚举一样。

相关问题