String BASIC中的子程序
下面是一本关于Liberty BASIC编程的书中的代码:String BASIC中的子程序,string,variables,call,subroutine,basic,String,Variables,Call,Subroutine,Basic,下面是一本关于Liberty 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
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$
之间建立连接?以相反顺序回答您的问题:CALL DisplayMessage name$
表示执行子例程DisplayMessage
,当前值name$
放入stuff$
。此机制允许使用DisplayMessage
打印除name$
以外的内容,使子例程更加有用。谢谢您的帮助。另外,如果我有2个或更多变量,例如:NOMAINWIN
提示“您的姓名”;name$
提示“您的年龄”;年龄$
调用DisplayMessage name$,年龄$
结束
子显示消息stuff$,东西$X=INT(RND(1)*2)+1
如果X=1,那么注意stuff$+“是个好人。”
否则
注意事物$+“是个好年龄。”END IF
END SUB
此代码将name$
分配给stuff$
,age$
分配给thing$
,因为这是它们在参数列表中列出的顺序?