docs/usage.markdown @ 3c3a3292e0db v0.1.0
Initial commit.
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Sat, 07 Apr 2012 17:33:03 -0400 |
| parents | (none) |
| children | 3967e218bd90 |
Usage ===== Roul currently contains a few functions in one namespace. It'll expand in the future, but for now that's all it is. [TOC] roul.random ----------- The `roul.random` namespace contains wrappers around some of Clojure's built-in random functions to make them more user friendly, as well as some uniqe functions of its own. The recommended way is to `require` this namespace into your own instead of overwriting Clojure's builtins: :::clojure (ns foo.core (:require [roul.random :as rr])) ; or (require '[roul.random :as rr]) ### rand :::clojure (rand) ; return a float in [0, 1) (rand end) ; return a float in [0, end) (rand start end) ; return a float in [start, end) A wrapper around the built-in `rand`. Returns a random floating point number between `start` (inclusive) and `end` (exclusive). If not given, `start` defaults to `0` and `end` defaults to `1`. ### rand-int :::clojure (rand-int end) ; return an int in [0, end) (rand-int start end) ; return an int in [start, end) A wrapper around the built-in `rand-int`. Returns a random integer between `start` (inclusive) and `end` (exclusive). If not given, `start` defaults to `0`. ### rand-nth :::clojure (rand-nth coll) ; return a random element of coll A wrapper around the built-in `rand-nth`. Returns a random element of the given collection. This is a transparent wrapper around the builtin, included only for completeness. Unlike the other wrappers no new functionality has been added (yet). ### rand-nth-weighted :::clojure (rand-nth-weighted coll) ; return a random element of coll Returns a random element of a weighted collection. A weighted collection can be any seq of `[choice, weight]` elements. The weights can be arbitrary numbers -- they do not need to add up to anything specific. :::clojure ; Returns coffee roughly 80% of the time, tea 15%, and soda 5%. (rr/rand-nth-weighted {:coffee 0.80, :tea 0.15, :soda 0.05}) ; Returns cats roughly twice as often as boots. (rr/rand-nth-weighted [[:boots 14] [:cats 28]])