# 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\$.