2017-02-06 6 views
-5

У меня есть следующий код и как можно видеть, что в обоих случаях я использую раздел = А. Но есть ли способ проверить как 1 & 2 в «Когда», чтобы избежать большего количества строк кода?Как использовать несколько значений во время (Оценить)?

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

Любая помощь очень ценится и, пожалуйста, помните, что я все еще учась. Благодаря! :)

+1

Итак, когда вы посмотрели на ** руководство **, которое документирует синтаксис ** выражения 'Evaluate', что вы нашли? Предполагая, что вы посмотрели руководство, и обнаружили, что вы не можете, зачем спрашивать здесь? Предполагая, что вы * не * посмотрели, вот почему у вас много голосов, потому что * «этот вопрос не показывает никаких исследований» *. – Andreas

ответ

0

Прежде всего: ваш код на самом деле не похож на Java, C или Cpp, и он не имеет ничего общего с ООП, поэтому исправьте теги.

На вопрос: После быстрого поиска 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-заявление. И это невозможно.

EDIT: Теперь я вижу, что язык - это код пользователя. Никогда не слышал об этом раньше, но документация показывает: Оценка - когда не сильно отличается от Switch-Case

Тем не менее: Есть почти всегда лучшие возможности, чем switch-case, см. 1 комментарий Майкла here.

+0

По-видимому, это [peoplecode] (https://docs.oracle.com/cd/E41633_01/pt853pbh1/eng/pt/tpcl/langref_PeopleCodeBuilt-inFunctionsandLanguageConstructs-073e6a.html). – George

+0

Спасибо всем :) и извините за основной вопрос. Надеюсь, я скоро узнаю и не буду беспокоиться о неправильных тегах. Еще раз спасибо! – LearningDeveloper

+0

никогда не слышал о коде людей раньше. Но, прочитав [document] (https://docs.oracle.com/cd/E41633_01/pt853pbh1/eng/pt/tpcd/concept_Statements-074b4d.html), он почти такой же, как и любой другой переключатель/случай ... –

Смежные вопросы