2015-10-15 4 views
0

Я следую этот код из книги о программировании на Liberty BASIC:Подпрограммы в BASIC

NOMAINWIN 
PROMPT "Your name"; name$ 
CALL DisplayMessage name$ 
END 

SUB DisplayMessage stuff$ 
X = INT(RND(1) * 2) + 1 
IF X = 1 THEN 
NOTICE stuff$ + " is a nice person." 
ELSE 
NOTICE stuff$ + " is a terrible person." 
END IF 
END SUB 

и интересно, почему бы вам не просто использовать name$ в подпрограмме вместо stuff$? И как знает подпрограмма, чтобы установить связь между name$ и stuff$?

ответ

0

Отвечая на ваши вопросы в обратном порядке: CALL DisplayMessage name$ говорит, чтобы выполнить подпрограмму DisplayMessage с текущим значением name$ положить в stuff$. Этот механизм позволяет использовать DisplayMessage для печати вещей, отличных от name$, что делает подпрограмму более полезной.

+0

Спасибо за это Скотт. Кроме того, если у меня было 2 или более переменных, например: 'NOMAINWIN' ' PROMPT "Ваше имя"; name $ ' ' PROMPT "Ваш возраст"; возраст $ '' ВЫЗОВ имя DisplayMessage $, возраст $ '' END' 'SUB DisplayMessage материал $, вещь $' ' X = INT (RND (1) * 2) + 1' ' IF X = 1 THEN '' УВЕДОМЛЕНИЕ материал $ + "хороший человек." '' ELSE' 'УВЕДОМЛЕНИЕ вещь $ + "хороший возраст."' ' END IF' ' END SUB' этот код присвоит ' name $ 'to' stuff $ 'и' age $ 'to' thing $ ', потому что это порядок, в котором они перечислены в списках параметров? –

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

  • Нет связанных вопросов^_^