PICK$
Syntax |
PICK$ (n, slct1$ *[,slcti$]*) |
Location |
CONTROL (DIY Toolkit Vol E) |
The function PICK$ takes one positive integer n and one or more other parameters slct1$, slct2$, etc. The function returns the value of the nth parameter, so n must be smaller than or equal to the number of supplied slctx$. Don’t forget, n must be greater than zero!
Example
PICK$ is intended to simplify expressions, here are some silly examples:
100 bool%=RND (0 TO 1)
110 IF bool% THEN PRINT "yes": ELSE PRINT "no"
becomes:
100 bool%=RND (0 TO 1)
110 PRINT PICK$ (bool%+1,"no","yes")
Whereas:
100 members = RND (4)
110 PRINT "The team has ";
120 IF members>0: PRINT members;: ELSE PRINT "no";
130 PRINT " member";
140 IF members<>1 THEN PRINT "s": ELSE PRINT
becomes:
100 members = RND(4)
110 PRINT "The team has ";
120 PRINT PICK$ (1+(members<>0),"no",members);
130 PRINT " member";PICK$ (1+(members<>1),"","s")
The slightly more complex:
100 DIM num$ (9,5)
110 RESTORE : FOR i=0 TO 9: READ num$(i)
120 DATA "zero","one","two","three","four"
130 DATA "five","six","seven","eight","nine","ten"
140 :
150 REPeat typing
160 key = CODE (INKEY$ (-1))-48
170 IF key<0 OR key>9 THEN EXIT typing
180 PRINT num$ (key)!!
190 END REPeat typing
becomes:
100 REPeat typing
110 key = CODE (INKEY$(-1))-48
120 IF key<0 OR key>9 THEN EXIT typing
130 PRINT PICK$ (key+1,"zero","one","two","three","four","five","six","seven","eight", "nine", "ten")
140 END REPeat typing
CROSS-REFERENCE
Note that conditions have a numeric value, see IF, AND and OR for details. SELect ON.. END SELect <KeywordsS.clean.html#-end-select>`__ is a less restrictive alternative to PICK$.