如何在(评估)中使用多个值?

时间:2017-02-06 16:07:03

标签: oop peoplecode

我有以下代码,可以看出,在我使用Section = A的情况下,但是,有没有办法检查"""这样可以避免更多行代码?

Evaluate INTERFACE
When "1"
   SECTION = "A";
   Break;
When "2"
   SECTION = "A";
   Break;

任何帮助都非常感谢,请记住,我还在学习。谢谢! :)

2 个答案:

答案 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评估声明的详细官方文档。