between

[Function]
  `(``between` lb ub [avoid] [state]`)`

Returns a random number equal to or greater than lb but less than ub. If both lb and ub are integers then an integer value is returned, otherwise a floating point value is returned. If avoid is specified then the random value selected will not equal it. The optional random state defaults to `*random-state*`.

#### Examples:

Example 1. Random selection using `between`.

    (between 1 3)
    ⇒ 2
    (between 1 2.0)
    ⇒ 1.8205206
    (between 1 1)
    ⇒ 1
    ;;; random integers without direct repetition
    (loop repeat 10 for n = (between 1 5 n) collect n)
    ⇒ (4 2 3 4 1 4 2 3 1 4)

Example 2. A random process using `between`.

    (define (play-between lo hi k1 k2 r1 r2 a1 a2 c1 c2)
      (process repeat (between lo hi)
               for k = (between k1 k2 k) ; no repeated note
               for r = (between r1 r2)
               for d = (* r (between .5 1.5))
               for a = (between a1 a2)
               for c = (between c1 c2)
               output (new midi :time (now)
                           :keynum k
                           :amplitude a
                           :duration d)
               wait r))

    (events (play-between 10 20 30 60 .5 1.5 .2 .8 0 6)
            "test.mid")
    ⇒ "test.mid"

#### See also:

- `drunk` [Function]
- `odds` [Function]
- `pick` [Function]
- `pickl` [Function]
- `ran` [Function]
- `ransegs` [Function]
- `shuffle` [Function]
- `vary` [Function]