$30 off During Our Annual Pro Sale. View Details »

Scalaコレクションメソッド入門

 Scalaコレクションメソッド入門

新宿Geek Lounge #shinjukugl

parallelto

July 06, 2017
Tweet

Other Decks in Technology

Transcript

  1. 4DBMB
    ίϨΫγϣϯϝιου
    ೖ໳
    ৽॓(FFL-PVOHF

    View Slide

  2. 5XJUUFS

    !QBSBMMFMUP
    ޷͖

    4DBMB

    5ZQF4DSJQU

    4XJGUʢΤϯδϣΠ੎ʣ
    ࢓ࣄ

    ΤϯδχΞ

    ''ޫͷઓ࢜ʢΨν੎ʣ

    View Slide

  3. ໨࣍
    wίϨΫγϣϯϝιου͕ͳ͍ੈք
    wίϨΫγϣϯϝιου
    wಛ௃
    w࣮ྫ
    w·ͱΊ

    View Slide

  4. ίϨΫγϣϯϝιου
    ͕ͳ͍ੈք

    View Slide

  5. ΋͠΋
    ίϨΫγϣϯϝιου
    ͕ͳ͔ͬͨΒʜ

    View Slide

  6. ᶃ ਺஋ͷγʔέϯε͔ΒʙΛநग़͢Δ
    ᶄ ਺஋Λӳޠʹม׵͢Δ
    ᶅ ࠷ॳͷҰͭΊΛऔಘ͢Δ
    ໰୊

    View Slide

  7. ᶃ ਺஋ͷγʔέϯε͔ΒʙΛநग़͢Δ
    ᶄ ਺஋Λӳޠʹม׵͢Δ
    ᶅ ࠷ॳͷҰͭΊΛऔಘ͢Δ
    UISFF



    ɺɺɺɺɺɺ ɺɺɺɺ
    UISFFɺUXPɺPOFɺpWF
    pWF
    UISFF
    4FR 4FR
    4FR 0QUJPO

    View Slide

  8. View Slide

  9. ͱ
    ͯ
    ΋
    ڪ
    Ζ
    ͠
    ͍

    ք
    Ͱ
    ͋
    Δ
    ŠŠ

    View Slide

  10. ί
    υ
    ͕
    ʔ
    ɺ

    ͢
    ͗
    Δ
    ͧ
    Υ
    Υ
    ŠŠŠŠ

    View Slide


  11. ͘
    ʜ

    ͠
    ͯ
    ͘
    Ε
    ʜ
    Զ
    ͷ
    Ϋ
    ϥ
    ε
    ͕
    ʜ

    View Slide

  12. ΋
    ͏
    ͓

    ͔
    Γ
    ͩ
    Ζ
    ͏

    View Slide

  13. ͦ
    ͏


    ΋

    ί
    Ϩ
    Ϋ
    γ
    ϣ
    ϯ
    ϝ
    ι
    ο
    υ
    Λ

    ͬ
    ͯ
    ͍
    ͳ
    ͍
    ͷ
    Ͱ
    ͋
    Δ

    View Slide

  14. ͸
    ͔
    ͳ
    Γ
    ߴ
    ڃ
    ͳ
    ݴ
    ޠ
    Ͱ
    ͋
    Γ

    ݴ
    ޠ
    Ͱ
    ͸

    ߦ
    ͔
    ͔
    Δ
    ί
    υ
    ΋
    ʔ

    ߦ
    Ͱ

    ͚
    Δ
    ͱ
    ݴ
    Θ
    Ε
    ͯ
    ͍
    Δ
    ʜ

    View Slide

  15. ͦ
    ͏
    ΋
    ͏
    ͓

    ͔
    Γ
    ͩ
    Ζ
    ͏
    ɺ

    View Slide


  16. ΋

    ί
    Ϩ
    Ϋ
    γ
    ϣ
    ϯ
    ϝ
    ι
    ο
    υ
    Λ

    ͬ
    ͯ
    ͍
    ͳ
    ͍
    ͷ
    Ͱ
    ͋
    Δ

    View Slide

  17. ίϨΫγϣϯϝιου

    View Slide

  18. ίϨΫγϣϯϝιου
    JTԿʁ
    wίϨΫγϣϯ͕ఏڙ͢ΔΤϨΨϯτͰڧྗͳ
    ϝιου܈
    wίϨΫγϣϯΛ૊ΈཱͯΔͨΊͷ؍఺Λཁૉ
    ͔ΒίϨΫγϣϯʹҾ্͖͛Δ
    wߴ͍ϨϕϧͰίʔσΟϯάՄೳʹ͢Δ

    View Slide

  19. ಛ௃
    w࢖͍΍͢͞
    w؆ܿੑ
    w҆શੑ
    wߴ଎
    w౷Ұੑ

    View Slide

  20. ࢖͍΍͢͞
    ˞DPMMFDU'JSTUΛ࢖͏ͱϝιουͰॻ͚·͢
    ʙఔ౓ͷޠኮͰ਺ճԋࢉ΄ͱΜͲͷίϨΫγϣϯૢ࡞Λղܾ
    ྫʣ๯಄ͷ௕ա͗Δίʔυʹద༻

    View Slide

  21. DPMMFDU'JSTUΛ࢖ͬͨྫ

    View Slide

  22. ؆ܿੑ
    ୯ޠͰ࣮ݱ
    ճɺ·ͨ͸
    ෳ਺ճͷϧʔϓ

    View Slide

  23. ҆શੑ
    *OU
    #PPMFBO
    -JTU<*OU>
    ؔ਺ͷೖग़ྗ͸੩తܕνΣοΫͷର৅
    શ4DBMBϢʔβʹΑͬͯςετࡁΈ

    View Slide

  24. ߴ଎
    ιʔτͷछྨ͍Ζ͍Ζ
    wΫΠοΫιʔτ
    wϚʔδιʔτͳͲ
    ߴ଎ͳιʔτΞϧΰϦζϜͰ࣮૷͞Ε͍ͯΔ

    View Slide

  25. ΅͘ͷߟ͑ͨ
    ࠷ڧͷTPSU8JUI
    ܭࢉྔɿ0 OMPHO

    ಈ࡞֬ೝࡁΈɹςετͳ͠ɹιʔτΞϧΰϦζϜɿϚʔδιʔτ

    View Slide

  26. ౷Ұੑ
    Ͳͷܕʹରͯ͠΋ಉ͡ԋࢉΛఏڙͯ͠Δ

    View Slide

  27. ิ଍
    ࣗલͷTPSU8JUI
    ίϨΫγϣϯϝιουͷTPSU8JUI
    ࣗલ͸ൺֱؔ਺ͷߏจ͕৑௕

    View Slide

  28. ࣗલͷTPSU8JUI
    @ͷলུه๏͸Ͱ͖ͳ͍

    View Slide

  29. ղܾࡦ
    ᶃύϥϝʔλʹܕࢦఆ
    ᶄϝιουʹܕࢦఆ
    ᶅΧϦʔԽͰܕਪ࿦
    ίϨΫγϣϯϝιουʹ͸ԕ͘ٴ͹ͣ

    View Slide

  30. ͜͜·ͰͰ͍͍ͩͨ

    View Slide

  31. ໰୊
    Ϧετͷ͢΂ͯͷૢ࡞͸ɺ
    ݸͷίϨΫγϣϯϝιουʹΑͬͯ
    දݱͰ͖Δ͔ɾ൱͔ʁ
    ˓PSʷ

    View Slide

  32. ౴͑ɿ˓
    w IFBE
    w UBJM
    w JT&NQUZ


    ʹ

    ͠
    ͨ

    ͩ
    Α
    ͓

    ͸
    ʜ

    View Slide

  33. IFBEɺUBJMɺJT&NQUZΛ
    ࢖͍͔࣮ͬͯͭ͘૷
    ΄
    Μ
    ͱ
    ͩ

    View Slide

  34. ࣮ྫ
    wߴ౓ͳϝιουʹஔ͖׵͑Δ
    w௕͞ͷൺֱ
    wఴࣈΞΫηε
    wίϨΫγϣϯ͸ؔ਺Ͱ΋͋Δ
    wٯॱιʔτ
    wؔ਺ͷ߹੒
    wਖ਼֨ɾඇਖ਼֨

    View Slide

  35. ߴ౓ͳϝιουʹஔ͖׵͑Δ
    ൚༻ͳϝιου
    ߴ౓ͳϝιου

    View Slide

  36. ίϨΫγϣϯϝιουʹ

    ෭࡞༻͕͋Δ৔߹͸ʁ
    w໭Γ஋ɿ4PNF

    wඪ४ग़ྗɿ

    View Slide

  37. View Slide

  38. ஍ࠈͷि຤

    View Slide

  39. w݁Ռ஋ɿ4PNF

    wඪ४ग़ྗɿ
    w݁Ռ஋ɿ4PNF

    wඪ४ग़ྗɿ ෭࡞༻͸ಉ౳Ͱ͸ͳ͍

    View Slide

  40. ߴ౓Խͷ͓໿ଋ
    wՄೳͰ͋Ε͹ɺ෭࡞༻Λආ͚Δ
    w७ਮͳίʔυ͔Β෭࡞༻Λ෼཭͢Δ

    View Slide

  41. ७ਮͳίʔυ͔Β
    ෭࡞༻Λ෼཭͢Δ

    View Slide

  42. ߴ౓ͳϝιουʹ
    ஔ͖׵͑Մೳʹ

    View Slide

  43. ௕͞ͷൺֱ
    FNQUZ͸/JMΛฦ͢
    MFOHUIͷܭࢉྔ͸0 O

    MFOHUI$PNQBSF
    ͷܭࢉྔ͸
    0 MFOHUINJOO

    View Slide

  44. ఴࣈΞΫηε
    *OEFY0VU0G#PVOET&YDFQUJPO

    View Slide

  45. ίϨΫγϣϯͷ௕͞Λௐ΂ͯ
    ҆શʹΞΫηε
    ఴࣈͷൣғ֎ʹΞΫηεͯ͠΋/POF͕ฦΔ

    View Slide

  46. ఴࣈΛड͚औΓ0QUJPOΛฦ͢
    ಉ͡
    ͳ͔ͥ஌ΒΕ͍ͯͳ͍MJGU

    View Slide

  47. ؔ਺ʹͳΔίϨΫγϣϯ
    ,FZ
    7BMVFͱݟͳͤΔ

    View Slide

  48. .BQ͸'VODUJPO<, 7>ΛNJYJO͍ͯ͠Δ
    .BQ͸1BSUJBM'VODUJPO<, 7>΋NJYJO͍ͯ͠Δ

    View Slide

  49. ๯಄ͷ໰୊͸͞Βʹ؆ܿʹͰ͖Δ

    View Slide

  50. -(5.

    View Slide

  51. ٯॱͰιʔτ
    ٯॱιʔτ͸தؒίϨΫγϣϯΛ࡞Β͟ΔΛ͑ͳ͍ʁ

    View Slide

  52. TPSUFEϝιουͷఆٛ
    ҉໧ͷύϥϝʔλͰ
    0SEFSJOH<#>͕ड͚औΕΔ

    View Slide

  53. ͭͷpMUFS
    ৚݅"ͱ#ΛͰͭͳ͙

    View Slide

  54. ͭͷNBQ
    ؔ਺"ͱ#ΛBOE5IFOͰͭͳ͙

    View Slide

  55. ίϨΫγϣϯϝιου
    Λඇਖ਼֨ʹ͢Δ
    ίϨΫγϣϯϝιου
    ਖ਼֨ɾඇਖ਼֨

    View Slide

  56. 4DBMBͷίϨΫγϣϯϝιου͸جຊਖ਼֨
    ɺɺ ɺɺ
    ɺɺ
    ɺɺ
    ɺɺ

    TFR NBQ qBU.BQ pMUFS
    ˞ྫ֎ɿ4USFBNίϨΫγϣϯͷϝιου
    ෆཁͳதؒίϨΫγϣϯ͕࡞੒͞ΕΔ

    View Slide

  57. ղܾࡦ
    ᶃߴ౓ͳϝιουʹஔ͖׵͑Δ

    ʢDPMMFDU'JSTUͷΑ͏ͳʣ
    ᶄWJFXϝιουΛ࢖͏

    View Slide

  58. WJFXϝιουΛ࢖͏
    ߴ౓ͳϝιου͸ͳ͍ͷͰ
    WJFXΛ࢖͏
    ͔݁͠͠Ռ஋͕4FR7JFX./' ʜ

    View Slide

  59. 4FR7JFXͷਖ਼ମ
    ɺɺ
    TFR
    4FR7JFX.
    4FR7JFX./
    4FR7JFX./'
    TFRΛ෴͏ϥούʔΫϥε
    ϝιουʹԠͨ͡઀ඌจࣈ
    ͕௥Ճ͞ΕΔ
    ݁Ռ஋ΛಘΔʹ͸
    ਖ਼֨ʹ໭͢ϝιουΛ࢖͏

    View Slide

  60. GPSDFΛ࢖͏
    தؒίϨΫγϣϯ͸࡞ΒΕͣ
    ݁Ռ஋ͷΈಘΒΕΔ
    ˞஫ҙɿখ͞ͳίϨΫγϣϯͰ͸

    ɹඇਖ਼֨ʹ͢Δίετͷํ͕
    ɹେ͖͍͜ͱ΋͋Δ

    View Slide

  61. 4FR7JFXͷݶք
    ίϨΫγϣϯϝιουΛ࢖͏ͨͼʹ
    ઀ඌจࣈ͕૿͍͑ͯ͘4FR7JFX
    ͦͷݶք͸ʁ

    View Slide

  62. View Slide

  63. େ૲ݪ
    4FR7JFX.............................
    ..................................
    ..................................
    ..................................
    .............................

    w໿ճNBQͯ͠΋ಈ͍ͨ
    wܕએݴ͸Ͳ͜ʹ͋Δʁ
    wճ਺্ݶ͋Δʁ

    View Slide

  64. ·ͱΊ
    w ίϨΫγϣϯϝιου͋ͬͯྑ͔ͬͨ
    w ௕͞ͷൺֱʹMFOHUI͸࢖Θͳ͍
    w ෆཁͳதؒίϨΫγϣϯʹؾΛ͚ͭΑ͏
    w ߴ౓ͳϝιουΛ࢖͏
    w ؔ਺߹੒͢Δ
    w WJFXΛ࢖͏
    w ίϨΫγϣϯૢ࡞͢Δલʹ4DBMB%PDΛ෼ோΊΑ͏

    View Slide

  65. ࢀߟࢿྉ
    w 4DBMBεέʔϥϒϧϓϩάϥϛϯάୈ൛
    w %PDVNFOUBUJPOc5IF4DBMB1SPHSBNNJOH-BOHVBHF

    IUUQXXXTDBMBMBOHPSHEPDVNFOUBUJPO
    w 4DBMB$PMMFDUJPOT5JQTBOE5SJDLT

    IUUQTQBWFMGBUJODPNTDBMBDPMMFDUJPOTUJQTBOE
    USJDLT

    View Slide