如何在 Pascal 函数 Succ 中设置? 我的意思是,当我将 Succ 放入代码中时,它会将字符的序号移动到下一个位置。但只有一次。有没有办法让它移动三次而不是一次?
我在互联网上找到了这段代码:
function Succ (X: ordninal_type): ordninal_type;
begin
Ord (Succ (X)) = Ord (X) + 1;
end;
我的想法是将 + 1 替换为 + 3,但这给我带来了如下错误:
program.lpr(6,36) 错误:找不到标识符“ordninal_type”
program.lpr(19,23) 错误:参数号的类型不兼容。 1:得到“查尔”, 预计“”
那么我应该如何设置该功能,所以我会在代码中设置它,例如 ->
CHARACTER:=Succ(CHARACTER);
?
'Succ' 返回当前值之后的后继值(下一个值)。它不能增加超过 1,因为只有一个“下一个值”。
使用
Inc
代替:
Inc(YourVariable, 3);
或者可以直接在代码中递增:
YourVariable := YourVariable + 3;
如果您正在处理字符值(数据类型
Char
),您也可以使用 Inc
:
Ch := 'A';
Inc(Ch, 3); // Ch is now 'D'
该代码与您输入的完全一致吗?如果是这样,请尝试“ordinal_type”而不是“ordninal_type”
我不知道这里是否还有其他问题,但类型肯定应该拼写正确。
ISO 标准 10206“扩展 Pascal”定义
succ
和 pred
可以接受可选的第二个 integer
参数,从而完全按照您想要的方式进行操作。
program successorDemo;
type
enumerationType = (first, second, third, fourth, fifth);
var
x: enumerationType;
begin
x := succ(first, 3);
{ `x` is now `fourth` }
end.
不幸的是,很少有处理器支持扩展 Pascal。 GNU Pascal Compiler接受上述代码,但 GPC 被视为废弃软件。 今天,FreePascal 编译器打算支持扩展 Pascal,但从 FPC 版本 3.2.2 开始,上述代码不被接受。