MUMPS Проверка адреса - PullRequest
       20

MUMPS Проверка адреса

0 голосов
/ 21 октября 2019

Я работаю над обязательными вопросами для класса, который я пытаюсь посетить. Я работаю над ревизиями двух частей кода. Я закончил один, и я застрял на этом. Я пытаюсь прочитать сокращенную адресную строку. В этом случае FL33606. Я могу прочитать адрес. Но я получаю неопределенную ошибку для команды Quit "Q: done". Может ли кто-нибудь помочь мне определить, что не так?

N prompt,val, done
    S prompt="Enter State and Zip (StateZip): "
    F  W !,prompt R val Q:val=""  D  Q:done  
    . I val'="?2A5N" W !,"Invalid entry" Q
    . S done=1
    I val="" q
    W !,"Valid Entry: ",val
    Q

1 Ответ

0 голосов
/ 21 октября 2019

У меня есть две ошибки

  • done переменная должна быть определена до первого чтения
  • шаблон не должен быть в кавычках, где ? является оператором не =
  S prompt="Enter State and Zip (StateZip): "
  S done=0
  F  W !,prompt R val Q:val=""  D  Q:done  
  . I val'?2A5N W !,"Invalid entry" Q
  . S done=1
  I val="" q
  W !,"Valid Entry: ",val
  Q

Почему вы используете короткие команды и точки?

Разве это не намного лучше читается?

  Set prompt = "Enter State and Zip (StateZip): "
  For {
    Write !,prompt 
    Read val 
    Quit:val=""  
    Quit:val?2A5N
    Write !,"Invalid entry" 
  } 
  If val="" Quit 
  Write !,"Valid Entry: ",val
  Quit
...