TypeScriptでFizzBuzzがしたいと思い立ち、やってみた。
環境設定
npm init
npm install typescript -s
npm run tsc -- --init
npm install lodash
npm install --save @types/lodash
関数型で書きたいのでlodashもインストール。
実装
import * as _ from "lodash";
const ori = _.range(1,100)
const ret = ori.map(fizzbuzz)
ret.map((val)=>console.log(val))
function fizzbuzz(val: number) {
if((val % 3 == 0) && (val % 2 == 0)){
return "fizzbuss"
}else if(val % 3 == 0){
return "fizz"
}else if(val % 2 == 0){
return "buzz"
}else{
return String(val)
}
}
関数型では変数はconstで作れ、とのことなのでconstで定義。
実行
tsc app.ts
node app.js
所感
-
以下の辺りが、もっときれいに書ける気がするが知識不足
const ret = ori.map(fizzbuzz)
ret.map((val)=>console.log(val)) -
console.logを使用すると非純粋になってしまうので、
モナド?を使いたいが知識不足
分かる人いたらコメントください