Fizzbuzz Code Review #ramda

node v0.12.18
version: 1.1.3
endpointsharetweet
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