在Pascal中定义索引为'a'..'z'和'0'..'9'的单个数组

时间:2019-11-07 13:21:21

标签: pascal

我现在正在学习该语言,因此我在语法方面确实并不坚强,无法在线找到答案。

我可以轻松地将数组拆分为两个数组,但是当我尝试定义以下内容时:

<uses-permission android:name="android.permission.INTERNET" />

我收到了我无法解决的错误:

Counts: Array['a'..'z','0'..'9'] of Integer;

是否可以定义这样的数组?谢谢。

2 个答案:

答案 0 :(得分:1)

声明

Counts: Array['a'..'z','0'..'9'] of Integer;  

表示Array[97..122] of Array[48..57] of Integer。它是一个二维数组。

用作:

Counts['a','0'] := 42; 

如果您打算创建一个带有索引间隙的一维数组,则不可能。


compiler中看到的错误是因为访问数组就像是一维数组一样,可能是这样的:

program Hello;
var
  Counts: Array['a'..'z','0'..'9'] of Integer;
begin
  Counts['a'] := 42;//Error: Incompatible types: got "ShortInt" expected "Array[48..57] Of SmallInt"
end.

答案 1 :(得分:0)

您是否尝试过将二维数组声明为类型,然后将其分配给变量:

Type
  twoD = Array['a'..'z','0'..'9'] of Integer;
Var
  V2: twoD