00000000: 00 20 54 4F 20 54 45 41 43 48 0D 20 4C 4F 43 41 |. TO TEACH. LOCA|
00000010: 4C 20 22 4E 41 4D 45 2E 41 52 47 53 0D 20 4D 41 |L "NAME.ARGS. MA|
00000020: 4B 45 20 22 4E 41 4D 45 2E 41 52 47 53 20 41 53 |KE "NAME.ARGS AS|
00000030: 4B 20 5B 4E 41 4D 45 3A 5D 0D 20 28 20 50 52 20 |K [NAME:]. ( PR |
00000040: 22 54 4F 20 3A 4E 41 4D 45 2E 41 52 47 53 20 29 |"TO :NAME.ARGS )|
00000050: 0D 20 44 45 46 49 4E 45 20 46 49 52 53 54 20 3A |. DEFINE FIRST :|
00000060: 4E 41 4D 45 2E 41 52 47 53 20 46 50 55 54 20 42 |NAME.ARGS FPUT B|
00000070: 46 20 3A 4E 41 4D 45 2E 41 52 47 53 20 54 45 41 |F :NAME.ARGS TEA|
00000080: 43 48 2E 42 4F 44 59 0D 20 28 20 50 52 49 4E 54 |CH.BODY. ( PRINT|
00000090: 20 28 20 46 49 52 53 54 20 3A 4E 41 4D 45 2E 41 | ( FIRST :NAME.A|
000000A0: 52 47 53 20 29 20 22 44 45 46 49 4E 45 44 20 29 |RGS ) "DEFINED )|
000000B0: 0D 45 4E 44 0D 0D 54 4F 20 41 53 4B 20 3A 51 55 |.END..TO ASK :QU|
000000C0: 45 53 54 49 4F 4E 0D 20 4C 4F 43 41 4C 20 22 41 |ESTION. LOCAL "A|
000000D0: 4E 53 57 45 52 0D 20 50 52 49 4E 54 31 20 3A 51 |NSWER. PRINT1 :Q|
000000E0: 55 45 53 54 49 4F 4E 0D 20 4D 41 4B 45 20 22 41 |UESTION. MAKE "A|
000000F0: 4E 53 57 45 52 20 52 45 51 55 45 53 54 0D 20 49 |NSWER REQUEST. I|
00000100: 46 20 45 4D 50 54 59 3F 20 3A 41 4E 53 57 45 52 |F EMPTY? :ANSWER|
00000110: 20 4F 50 20 41 53 4B 20 3A 51 55 45 53 54 49 4F | OP ASK :QUESTIO|
00000120: 4E 0D 20 4F 50 20 3A 41 4E 53 57 45 52 0D 45 4E |N. OP :ANSWER.EN|
00000130: 44 0D 0D 54 4F 20 54 45 41 43 48 2E 42 4F 44 59 |D..TO TEACH.BODY|
00000140: 0D 20 4C 4F 43 41 4C 20 22 4C 49 4E 45 0D 20 4D |. LOCAL "LINE. M|
00000150: 41 4B 45 20 22 4C 49 4E 45 20 41 53 4B 20 22 3E |AKE "LINE ASK ">|
00000160: 0D 20 49 46 20 3A 4C 49 4E 45 20 3D 20 5B 45 4E |. IF :LINE = [EN|
00000170: 44 5D 20 4F 50 20 5B 5D 0D 20 4F 50 20 46 50 55 |D] OP []. OP FPU|
00000180: 54 20 3A 4C 49 4E 45 20 54 45 41 43 48 2E 42 4F |T :LINE TEACH.BO|
00000190: 44 59 0D 45 4E 44 0D 0D |DY.END.. |
. TO TEACH. LOCAL "NAME.ARGS. MAKE "NAME
.ARGS ASK [NAME:]. ( PR "TO :NAME.ARGS )
. DEFINE FIRST :NAME.ARGS FPUT BF :NAME.
ARGS TEACH.BODY. ( PRINT ( FIRST :NAME.A
RGS ) "DEFINED ).END..TO ASK :QUESTION.
LOCAL "ANSWER. PRINT1 :QUESTION. MAKE "A
NSWER REQUEST. IF EMPTY? :ANSWER OP ASK
:QUESTION. OP :ANSWER.END..TO TEACH.BODY
. LOCAL "LINE. MAKE "LINE ASK ">. IF :LI
NE = [END] OP []. OP FPUT :LINE TEACH.BO
DY.END..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL