1
例如我有这个数组:如何检查数组是否包含Pascal中的特定索引?
type
OptionRange = array[ 1..9 ] of integer;
如何检查array [x]是否存在?
其实,我想用数组索引限制用户输入。我做错了什么吗?有更好的实用解决方案吗?
例如我有这个数组:如何检查数组是否包含Pascal中的特定索引?
type
OptionRange = array[ 1..9 ] of integer;
如何检查array [x]是否存在?
其实,我想用数组索引限制用户输入。我做错了什么吗?有更好的实用解决方案吗?
在Free Pascal和Borland方言(也许还有其他地方)中,您可以对数组类型或数组类型的变量使用Low
和High
函数。我看到这最常用于确定for
循环界限:
var
range: OptionRange;
i: Integer;
begin
for i := Low(range) to High(range) do begin
range[i] := GetOptionRangeElement(i);
end;
end;
您还可以定义一个子界类型,然后用它来定义这两个数组和你的阵列上使用索引变量:
type
OptionRangeIndex = 1..9;
OptionRange = array[OptionRangeIndex] of Integer;
var
range: OptionRange;
i: OptionRangeIndex;
然后,当你有范围检查启动(假设你的编译器提供这样的功能),你使用的值的范围之外OptionRange
指数,你会得到你可以捕捉运行时错误不管你想要怎么处理。
我不是很确定选项范围是什么或为什么一个九个整数的数组将被用来表示一个,但我认为这是一个名称选择问题。