Skip to content

Commit b9752d8

Browse files
committed
Clean up randomInt example
Based on issue coffeescript-cookbook#109, the readability of the `randomInt` was a bit confusing. Adds some comments to better clarify the logic. Made code more CoffeeScript-ish
1 parent b09c32c commit b9752d8

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

chapters/math/random-integer.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,10 @@ You'd like to get a random integer between two integers, inclusive.
1212
Use the following function.
1313

1414
{% highlight coffeescript %}
15-
randomInt = (lower, upper=0) ->
16-
start = Math.random()
17-
if not lower?
18-
[lower, upper] = [0, lower]
19-
if lower > upper
20-
[lower, upper] = [upper, lower]
21-
return Math.floor(start * (upper - lower + 1) + lower)
15+
randomInt = (lower, upper) ->
16+
[lower, upper] = [0, lower] unless upper? # Called with one argument
17+
[lower, upper] = [upper, lower] if lower > upper # Lower must be less then upper
18+
Math.floor(Math.random() * (upper - lower + 1) + lower) # Last statement is a return value
2219

2320
(randomInt(1) for i in [0...10])
2421
# => [0,1,1,0,0,0,1,1,1,0]

0 commit comments

Comments
 (0)