Clone and edit this document
Runkit
Runkit
home page
user forum
new notebook
clone notebook
download notebook
support & documentation
log in
sign up
new notebook
help & feedback
clone this notebook
download this notebook
Sign In
Sign Up
Fizzbuzz Code Review #ramda
node v0.12.18
version:
1.1.3
endpoint
share
tweet
http://codereview.stackexchange.com/questions/108449/fizzbuzz-in-javascript-using-ramda
var R = require('ramda'); var divisibleBy = R.curry((b) => R.compose(R.equals(0), R.flip(R.modulo)(b))) var fizzbuzz = R.map(R.cond([ [R.both(divisibleBy(3), divisibleBy(5)), R.always('FizzBuzz')], [divisibleBy(3), R.always('Fizz')], [divisibleBy(5), R.always('Buzz')], [R.T, R.identity] ])); console.log(fizzbuzz(R.range(1,101)))
My attempt to clean it up a bit.
var divBy = R.curryN(2, R.compose(R.equals(0), R.flip(R.modulo))); var divBy3 = divBy(3); var divBy5 = divBy(5); var divBoth = R.both(divBy3, divBy5); var fizzbuzz = R.map(R.cond([ [divBoth, R.always('fizzbuzz')], [divBy3, R.always('fizz')], [divBy5, R.always('buzz')], [R.T, R.identity] ])); console.log(fizzbuzz(R.range(1, 101)));
Loading…
no comments
sign in
to comment