gpt4 book ai didi

Delphi 在 case 语句中失败

转载 作者:行者123 更新时间:2023-12-03 14:51:37 25 4
gpt4 key购买 nike

在 C 中你可以做类似的事情

switch(x) {
case 'a':
case 'b':
printf("something");
break;
case 'c':
printf("else");
break;
}

在德尔福时我尝试了这两种方法

 case x of
'a':
'b': writeln('something');
'c': writeln('else');
end;

 case x of
['a','b']: writeln('something');
'c': writeln('else');
end;

但是两者都不起作用。

我想到了不同的解决方案,例如编写一个过程并将其称为“a”和“b”,但我想知道是否有更好的解决方案。我还可以使用 goto,如下所示:

 case x of
'a': goto labelCaseB;
'b': begin
labelCaseB:
writeln('something');
end;
'c': writeln('else');
end;

它工作得很好,但是 Delphi 语言中 case 语句失败的“标准”解决方案是什么?

当然,我的实际情况要复杂得多:在示例中,我会使用 if-else ;)

最佳答案

Delphi 没有 case 语句中的失败。这是C 和Delphi 之间的主要区别之一。但在你的特殊情况下(抱歉双关语)你可以写

 case x of
'a','b': begin
writeln('something');
end;
'c': writeln('else');
end;

关于Delphi 在 case 语句中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38501246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com