Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20161124-wajs-fizzbuzz

chikoski
November 25, 2016

 20161124-wajs-fizzbuzz

FizzBuzz in JavaScript

chikoski

November 25, 2016
Tweet

More Decks by chikoski

Other Decks in Technology

Transcript

  1. /4IJNJ[V!DIJLPTLJ ˖ 傈劤〷̔04̔فؚٗٓىؚٝ鎉铂 ˖ ⛆加㖩ח֮׷8FC׾⡲׷⠓爡ד⫴ְגְתׅ ˖ 'JSFGPY 'JSFGPYGPSJ04 %FW5PPMT ˖

    3VTUBTNKT8FC"TTFNCMZ8FC73(BNJOH ˖ فؚٗٓىؚٝ鎉铂ה؟حؕ٦鋅׷ךָ㥨ֹדׅ ˖ 㘗ך䓼ְ鎉铂ָ㥨ֹדׅ ˖ IUUQTTQFBLFSEFDLDPNDIJLPTLJ
  2. JS GPS MFUJJJ \ JG JJ \ DPOTPMFMPH 'J[[#V[[ 

    ^FMTFJG J \ DPOTPMFMPH 'J[[  ^FMTFJG J \ DPOTPMFMPH #V[[  ^FMTF\ DPOTPMFMPH J  ^ ^ シンプルなFizzBuzzの実装
  3. JS DPOTUB<        

           > DPOTUTFRBNBQ GJ[[CV[[  DPOTPMFMPH TFRKPJO =O  GVODUJPOGJ[[CV[[ O \ JG OO \ SFUVSO'J[[#V[[ ^FMTFJG O \ SFUVSO'J[[ ^FMTFJG O \ SFUVSO#V[[ ^FMTF\ SFUVSO O ^ ^ 関数プログラミング的なFizzBuzz実装
  4. ペアノの公理:自然数の定義 • ジュゼッペ・ペアノ(1858-1932)によって定義された自然数の定義 (1891) • 自然数は次の条件を満たす • 自然数0が存在する • 任意の自然数

    a には、その後者 suc(a) が存在する • 0はいかなる自然数の後者ではない • 異なる自然数は、異なる後者を持つ • 0がある性質を満たし、a がある性質を満たせば suc(a) もまたその性質を満 たす時、全ての自然数はその性質を満たす IUUQTKBXJLJQFEJBPSHXJLJآُئحل٥ل،ظ
  5. JS DMBTT1FBOP\ DPOTUSVDUPS QSFW \ UIJTQSFWQSFW ^ TVD \ SFUVSOOFX1FBOP

    UIJT  ^ ^ 1FBOP@[FSPOFX1FBOP OVMM  1FBOP[FSPGVODUJPO \ SFUVSO1FBOP@[FSP ^ DPOTU[FSP1FBOP[FSP  DPOTUPOF[FSPTVD  DPOTUUXPPOFTVD  DPOTUGPVSUXPTVD TVD  自然数の実装
  6. JS 1FBOPQSPUPUZQFUP@JGVODUJPO \ SFUVSOUIJTQSFW  UIJTQSFWUP@J   ^ 1FBOPQSPUPUZQFUP4USJOH

    GVODJUPO \ SFUVSOUIJTUP@J   ^ DPOTUUXP 1FBOP[FSP TVD TVD  DPOTPMFMPH UXPUP@J  数値や文字列への変換用メソッドを追加
  7. JS 1FBOPSBOHFGVODUJPO O \ MFUSFU<1FBOP[FSP > GPS MFUUNQ1FBOP[FSP  OO

    \ UNQUNQTVD  SFUQVTI UNQ  ^ SFUVSOSFU ^ 1FBOPDSFBUFGVODUJPO O \ MFUS1FBOPSBOHF O  SFUVSOSQPQ  ^ 範囲や、即値からの作成
  8. JS DPOTUUFYU1FBOPSBOHF   NBQ JJUP@J  NBQ GJ[[CV[[ 

    KPJO =O  DPOTPMFMPH UFYU  GVODUJPOGJ[[CV[[ O \ MFUMBCFM JG O \MBCFM 'J[[^ JG O \MBCFM #V[[^ JG MBCFMMFOHUI \ MBCFM O ^ SFUVSOMBCFM ^ FizzBuzz
  9. まとめ:FizzBuzz だけでも奥が深い • 単純に書くだけでもいいけど、工夫するとさらに楽しい! • 順番に出力するだけで満足しててもいいけど • 関数的に書いて見る、クラスを作る • もっとできます

    • イテレーター / ジェネレーターにしてみる • リアクティブプログラミング • 並列プログラミング • FizzBuzz サーバー • ✌頭の体操は楽しい!✌