我有以下代码,可以看出,在我使用Section = A的情况下,但是,有没有办法检查"""这样可以避免更多行代码?
Evaluate INTERFACE
When "1"
SECTION = "A";
Break;
When "2"
SECTION = "A";
Break;
任何帮助都非常感谢,请记住,我还在学习。谢谢! :)
答案 0 :(得分:2)
首先:你的代码看起来不像Java,C或Cpp,它与OOP无关,所以要更正标签。
问题:
快速搜索Evaluate-When
后,COBOL(请参阅IBM)的属性与众所周知的switch-case
相同。
在switch-case
中你不能真正拥有OR
个语句,但是你可以通过不使用break
为同一个块分配多个值:
char c = 'a';
switch(c){
case 'a':
case 'A':
fooA(); //'a' AND 'A' will land here
break;
case 'b':
fooSmallB(); //only 'b' lands here
case 'B':
fooB(); //'b' AND 'B' lands here
break;
default:
fooDef(); //Everything that does not hit any case lands here
}
这模拟了一个OR语句。并且是不可能的。
编辑: 我现在看到,语言是peoplecode。之前从未听说过,但文档显示:评估 - 何时与Switch-Case
没有太大区别尽管如此:几乎总有比switch-case
更好的可能性,请参阅Michael here的第一条评论。
答案 1 :(得分:0)
您的语法和Evaluate
语句属于Oracle ERP PeopleSoft
中使用的PeopleCode编程语言
Evaluate与switch / case语句相似,这是根据给定场景如何在PeopleCode中正确使用它的示例。
Evaluate &yourVariable
When = "1"
When = "2"
Warning "Value is either 1 or 2";
Break;
When = "3"
Warning "Value is 3";
Break;
When = "4"
Warning "Value is 4";
Break;
When-Other
Warning "Unexpected value."
End-Evaluate;
Here是有关PeopleCode评估声明的详细官方文档。