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

はじめてのRuby 第10章 / Ruby Practice 10

muttan
November 15, 2016

はじめてのRuby 第10章 / Ruby Practice 10

muttan

November 15, 2016
Tweet

More Decks by muttan

Other Decks in Programming

Transcript

  1. ͨͷ͍͠3VCZୈষ

    View Slide

  2. ͨͷ͍͠

    ٩ [email protected]?
    و

    View Slide

  3. 3VCZ

    View Slide

  4. ୈճ

    View Slide

  5. ୈষΤϥʔॲཧͱྫ֎

    View Slide

  6. Τϥʔॲཧʹ͍ͭͯ

    View Slide

  7. w ࣮ߦதʹൃੜ͢ΔΤϥʔ͸ҎԼͷ௨Γ
    ᶃ σʔλͷΤϥʔ

    σʔλϑΥʔϚοτ΍ߏ଄తͳΤϥʔ
    ᶄ γεςϜͷΤϥʔ

    ϋʔυσΟεΫো֐ͷΑ͏ͳϓϩάϥϜͰ͸Ͳ͏͠
    Α͏΋ͳ͍ো֐
    ᶅ ϓϩάϥϜͷϛε

    ະఆٛͷม਺΍ϝιου΁ͷΞΫηε Ҿ਺ͷΦϒ
    δΣΫτͷޡΓ ܭࢉϛεFUD
    Τϥʔॲཧʹ͍ͭͯ

    View Slide

  8. w ͜ͷΑ͏ͳΤϥʔΛ์ஔ͢Δͷ͸ྑ͘ͳ͍ͨΊ
    ԿΒ͔ͷରࡦΛߦ͏ඞཁ͕͋Δ
    ✦ ݪҼΛऔΓআ͘
    ✦ ແࢹͯ͠ଓߦ
    ✦ ΋͏Ұ౓ࢼ͢ɹͳͲͳͲʜ
    Τϥʔॲཧʹ͍ͭͯ

    View Slide

  9. w ҎԼͷೋ఺ʹؾΛ͚ͭͯϓϩάϥϜΛ࡞੒͢Δ
    ΂͖Ͱ͋Δ
    ᶃ ೖྗσʔλΛഁյ͠ͳ͍͔
    ᶄ Τϥʔ಺༰ͱ ʢՄೳͰ͋Ε͹ʣݪҼΛ௨஌
    ͢Δ͜ͱ͕Ͱ͖Δ͔
    w 3VCZʹ͸ΤϥʔॲཧΛαϙʔτ͢Δྫ֎ͱ͍͏
    ࢓૊Έ͕උΘ͍ͬͯΔ
    Τϥʔॲཧʹ͍ͭͯ

    View Slide

  10. ྫ֎ॲཧ

    View Slide

  11. w ϓϩάϥϜͷ࣮ߦதʹΤϥʔ͕ى͖Δͱྫ֎͕
    ౤͛ΒΕΔ
    w ྫ֎͕ൃੜͨ࣌͠͸ɺॲཧΛҰ࣌தஅ͠ྫ֎ॲ
    ཧΛ୳͢
    ྫ֎ॲཧ

    View Slide

  12. w ྫ֎ॲཧͷ࢓૊Έ͕ແ͍ݴޠͰ͸ Τϥʔॲཧͷ
    هड़͕൥ࡶʹͳΔ
    ྫ֎ॲཧ
    JGB
    GBMTF
    Τϥʔॲཧ
    FOE
    JGC
    GBMTF
    Τϥʔॲཧ
    FOE
    JGD
    GBMTF
    Τϥʔॲཧ
    FOE
    CFHJO
    B

    C

    D

    SFTDVF
    Τϥʔॲཧ
    FOE
    ྫ֎ॲཧͷ࢓૊Έ͕ͳ͍ݴޠ 3VCZ

    View Slide

  13. w ྫ֎ॲཧʹ͸ҎԼͷΑ͏ͳϝϦοτ͕͋Δ
    ᶃ ૢ࡞ͷ׬ྃΛҰͭҰͭ֬ೝ͠ͳͯ͘΋Τϥʔ
    ͕ࣗಈతʹݕग़͞ΕΔ
    ᶄ Τϥʔͷൃੜ৔ॴ΋ಉ࣌ʹใࠂ͞ΕΔͨΊσ
    όοά͠қ͍
    ᶅ ਖ਼ৗͳॲཧͱΤϥʔॲཧΛ෼཭͔͚ͯ͠Δͨ
    Ί ݟ௨͕͠ྑ͘ͳΔ
    ྫ֎ॲཧ

    View Slide

  14. ྫ֎ॲཧͷॻ͖ํ

    View Slide

  15. w ྫ֎ॲཧ͸࣍ͷΑ͏ʹهड़͢Δ



    w 3VCZͰ͸ྫ֎ʹؔ͢Δ৘ใ΋ΦϒδΣΫτͱ͠
    ͯѻΘΕΔ
    w SFTDVFઅ಺ͰSFUSZΛ༻͍Δͱ CFHJOҎԼͷॲ
    ཧΛ΋͏Ұ౓΍Γ௚͢͜ͱ͕Ͱ͖Δ
    ྫ֎ॲཧͷॻ͖ํ
    CFHJO
    ྫ֎Λൃੜͤ͞ΔՄೳੑͷ͋Δॲཧ
    SFTDVF
    ྫ֎͕ىͬͨ͜৔߹ͷॲཧ
    FOE

    View Slide

  16. w SFTDVFʹଓ͚ͯม਺Λॻ͘͜ͱͰ ྫ֎ΦϒδΣ
    ΫτΛड͚औΔ͜ͱ͕Ͱ͖Δ
    ྫ֎ॲཧͷॻ͖ํ
    CFHJO
    ྫ֎Λൃੜͤ͞ΔՄೳੑͷ͋Δॲཧ
    SFTDVFม਺
    ྫ֎͕ىͬͨ͜৔߹ͷॲཧ
    FOE

    View Slide

  17. w ม਺໊Λ໌ࣔ͠ͳͯ͘΋ άϩʔόϧม਺ʹΤ
    ϥʔ৘ใ͕֨ೲ͞ΕΔ




    w ͨͩ͠ ໌ࣔతʹม਺Λએݴͨ͠΄͏͕Θ͔Γ΍
    ͘͢ͳΔͷͰॻ͜͏
    ྫ֎ॲཧͷॻ͖ํ
    ม਺ ҙຯ
    ࠷ޙʹൃੜͨ͠ྫ֎ͷΦϒδΣΫτ
    ! ࠷ޙʹൃੜͨ͠ྫ֎ͷҐஔʹؔ͢Δ৘ใ

    View Slide

  18. w ྫ֎ΦϒδΣΫτʹ͸ҎԼͷϝιου͕ఆٛ͞
    Ε͍ͯΔ
    ྫ֎ॲཧͷॻ͖ํ
    ϝιου໊ ҙຯ
    DMBTT ྫ֎ͷछྨ
    NFTTBHF ྫ֎ͷϝοηʔδ
    CBDLUSBDF
    ྫ֎ͷൃੜͨ͠Ґஔʹؔ͢Δ৘ใ
    !ͱCBDLUSBDF͸ಉ͡

    View Slide

  19. ྫ֎ॲཧͷॻ͖ํ
    'JMFΦʔϓϯͰΤϥʔ͕ىͬͨ͜৔߹
    ྫ֎͕౤͛ΒΕͯSFTDVFઅʹೖΔ
    ΤϥʔΛใࠂͨ͠Β

    ࣍ͷϑΝΠϧͷॲཧ΁ҠΔ
    1XDSC࣮ߦ

    View Slide

  20. ྫ֎ॲཧͷॻ͖ํ
    w ࣮ߦ݁Ռ
    SVCZXDSCGUYUGUYUGUYUGUYU
    GUYU
    GUYU
    /[email protected]
    GUYU
    UPUBM Τϥʔͷ৔߹͸ग़ྗͯ࣍͠ͷ
    ϑΝΠϧΛॲཧ

    View Slide

  21. ྫ֎ॲཧͷॻ͖ํ
    w SFTDVFઅ͕ͳ͍৔߹͸ݺͼग़͠ݩʹḪͬͯྫ֎
    ॲཧΛߦ͏
    EFGGPP

    'JMFPQFO lTIJNBNPOl

    FOE
    EFGCBS
    GPP

    FOE
    CFHJO
    CBS

    SFTDVFFY
    QSJOUFYNFTTBHF laOz
    FOE
    CFHJO
    CBS

    GPP

    'JMFPQFO
    SFTDVF
    ྫ֎ൃੜ

    View Slide

  22. ޙॲཧ

    View Slide

  23. w ྫ֎͕ىͬͯ͜΋ى͜Βͳͯ͘΋࣮ߦ͍ͨ͠ॲ
    ཧʢྫ͑͹։͍ͨϑΝΠϧΛΫϩʔζ͍ͨ͠ʣ͕
    ͋Δͱ͖͸ FOTVSFઅʹޙॲཧΛهड़͢Δ
    ޙॲཧ
    CFHJO
    ྫ֎Λൃੜͤ͞ΔՄೳੑͷ͋Δॲཧ
    SFTDVFม਺
    ྫ֎͕ىͬͨ͜৔߹ͷॲཧ
    FOTVSF
    ྫ֎ͷ༗ແʹ͔͔ΘΒ࣮ͣߦ͞ΕΔॲཧ
    FOE

    View Slide

  24. ޙॲཧ
    ॻ͖ࠐΈઌͷϑΝΠϧ͕։͚ͳ͔ͬͨ৔߹
    Ͱ΋ TSD͸DMPTF͢Δඞཁ͕͋ΔͨΊ 

    FOTVSFઅʹTSDDMPTFΛهड़ͨ͠

    View Slide

  25. SFTDVFम০ࢠ

    View Slide

  26. w JGम০ࢠ΍VOMFTTम০ࢠͷΑ͏ͳॻ͖ํ΋Ͱ͖Δ

    w ͜Ε͸ҎԼͷจͱಉ༷Ͱ͋Δ

    SFTDVFम০ࢠ
    ࣜSFTDVFࣜ
    CFHJO

    SFTDVF

    FOE

    View Slide

  27. w ࢖༻ྫ


    w ίϚϯυϥΠϯ͔Β౉͞ΕͨҾ਺͕਺஋ྻ ྫ

    ͷ৔߹͸ͦͷ஋ ෆਖ਼ͳ஋ ྫlBCDz
    ͷͱ͖
    ͸Ληοτ͢Δ

    SFTDVFम০ࢠ

    View Slide

  28. ྫ֎ॲཧͷߏจͷิ଍

    View Slide

  29. w ϝιουͷॲཧશମΛCFHJOʙFOEͰׅΔΑ͏ͳ
    ৔߹͸ CFHJOʙFOEΛলུͰ͖Δ
    ྫ֎ॲཧͷߏจͷิ଍
    EFGGPP
    ϝιουຊମ
    SFTDVFFY
    ॲཧ
    FOTVSF
    ޙॲཧ
    FOE

    View Slide

  30. ัଊ͢Δྫ֎Λࢦఆ͢Δ

    View Slide

  31. w ෳ਺ͷྫ֎͕ൃੜ͢ΔՄೳੑ͕͋Δ৔߹ ิ଍͢
    Δྫ֎ΛSFTDVFઅʹࢦఆ͢Δ͜ͱͰॲཧΛ෼͚
    Δ͜ͱ͕Ͱ͖Δ
    ัଊ͢Δྫ֎Λࢦఆ͢Δ
    CFHJO
    ྫ֎͕ൃੜ͢ΔՄೳੑͷ͋Δॲཧ
    SFTDVF&YDFQUJPO &YDFQUJPOม਺
    &YDFQUJPO &YDFQUJPOʹର͢Δॲཧ
    SFTDVF&YDFQUJPOม਺
    &YDFQUJPOʹର͢Δॲཧ
    SFTDVF
    ͦΕҎ֎ͷྫ֎ʹର͢Δॲཧ
    FOE

    View Slide

  32. ྫ֎Ϋϥε

    View Slide

  33. w ͢΂ͯͷྫ֎͸ &YDFQUJPOΫϥεͷαϒΫϥε
    ʹͳ͓ͬͯΓ ΤϥʔͷछྨʹԠ༷ͨ͡ʑͳྫ֎
    Λఆ͍ٛͯ͠Δʢ1ࢀরʣ
    w SFTDVFઅͰࢦఆͨ͠ྫ֎ͷछྨ͸ ྫ֎Ϋϥε
    ͷΫϥε໊Ͱ͋Δ
    w ࢦఆΛߦΘͳ͍৔߹͸ 4UBOEBSE&SSPSͱͦͷ
    αϒΫϥε͕ัଊ͞ΕΔʢॏཁʣ
    ྫ֎Ϋϥε

    View Slide

  34. w ࣗ෼Ͱྫ֎Λఆٛ͢Δ͜ͱ΋Ͱ͖Δ
    w 4UBOEBSE&SSPSΫϥεΛܧঝͨ͠ΫϥεΛ࡞੒
    ͠ ߋʹͦΕΛܧঝ͢Δͷ͕ҰൠతͰ͋Δ
    w ࠷ޙʹσϞΛ͠·͢
    ྫ֎Ϋϥε

    View Slide

  35. ྫ֎Λൃੜͤ͞Δ

    View Slide

  36. w ࣗ෼Ͱྫ֎Λൃੜͤ͞Δʹ͸ SBJTFϝιουΛ࢖͏
    ʢ৚݅ʹΑͬͯྫ֎Λൃੜͤ͞Δ ͳͲʣ
    w SBJTFϝιουʹ͸ݺͼग़͠ํ๏͕ͭଘࡏ͢Δ
    ᶃ SBJTFϝοηʔδ
    ᶄ SBJTFྫ֎Ϋϥε
    ᶅ SBJTFྫ֎Ϋϥε ϝοηʔδ
    ᶆ SBJTF
    ྫ֎Λൃੜͤ͞Δ

    View Slide

  37. ᶃ SBJTFϝοηʔδ

    3VOUJNF&SSPSΛൃੜͤ͞ ྫ֎ΦϒδΣΫτʹϝοηʔδͱ͠
    ͯจࣈྻΛηοτ͢Δ
    ᶄ SBJTFྫ֎Ϋϥε

    ࢦఆͨ͠ྫ֎Λൃੜͤ͞Δ
    ᶅ SBJTFྫ֎Ϋϥε ϝοηʔδ

    ࢦఆͨ͠ྫ֎Λൃੜͤ͞ ৽͘͠ੜ੒͞Εͨྫ֎ΦϒδΣΫτʹ
    ϝοηʔδͱͯ͠จࣈྻΛηοτ
    ᶆ SBJTF

    3VOUJNF&SSPSΛൃੜͤ͞ΔSFTDVFઅͰ࣮ߦ͢Δͱ ࠷ޙʹൃ
    ੜͨ͠ྫ֎Λ΋͏Ұ౓ൃੜͤ͞Δ
    ྫ֎Λൃੜͤ͞Δ

    View Slide

  38. w ྫʣྫ֎ΫϥεΛ࡞੒͠ ͦͷྫ֎Λൃੜͤ͞Δ
    ྫ֎Λൃੜͤ͞Δ

    View Slide

  39. w ͱ͜ΖͰ 4UBOEBSE&SSPSͷεʔύʔΫϥεͰ͋
    Δ&YDFQUJPOΫϥεΛԿނܧঝ͠ͳ͍ͷ͔
    w SFTDVFઅ͸ࢦఆ͕ͳ͍৔߹ 4UBOEBSE&SSPSΫ
    ϥεͱͦͷαϒΫϥεΛัଊ͢ΔͨΊ
    ྫ֎Λൃੜͤ͞Δ

    View Slide

  40. w ͭ·Γ &YDFQUJPOΛܧঝͨ͠ΫϥεͩͱSFTDVF
    અͰΩϟον͞Εͳ͍
    ྫ֎Λൃੜͤ͞Δ

    View Slide

  41. w SFTDVFઅͰ&YDFQUJPOΛࢦఆ͢Ε͹Ωϟον͢
    Δ͜ͱ΋Ͱ͖Δ͕ʜ





    w ͢΂ͯͷྫ֎ΛΩϟονͯ͠͠·͏ͷͰ ޷·͠
    ͘ͳ͍
    ྫ֎Λൃੜͤ͞Δ

    View Slide

  42. w &YDFQUJPOΛัଊ͢Δͱ͍͏͜ͱ͸ ͢΂ͯͷྫ
    ֎ΛΩϟον͢Δ͜ͱʹͳΔ
    w 4JHOBM&YDFQUJPOͷ4*(*/5ͳΜ͔͸$USM$Λั
    ଊ͢ΔͷͰ ࠷ѱऴΘΒͳ͍ϓϩάϥϜ͕ग़དྷ্
    ͕ͬͯ͠·͏Մೳੑ΋ʜ
    w ྫ֎ΫϥεΛ࡞Δ࣌͸ 4UBOEBSE&SSPSΫϥεΛ
    ܧঝ͠·͠ΐ͏
    ྫ֎Λൃੜͤ͞Δ

    View Slide

  43. ࠓճͷ

    ·ͱΊ

    View Slide

  44. ·ͱΊ
    w SFTDVFઅΛ༻͍Δ͜ͱͰ ྫ֎ॲཧΛߦ͏͜ͱ͕
    Ͱ͖Δ
    w SFTDVFʹྫ֎Λࢦఆ͢Δͱ ͦͷྫ֎ͷΈัଊ͢
    Δ͜ͱ͕Ͱ͖Δࢦఆ͠ͳ͍৔߹͸
    4UBOEBSE&SSPSͱͦͷαϒΫϥε͕ิ଍͞ΕΔ
    w ྫ֎͕ى͜Δ ى͜Βͳ͍ʹ͔͔ΘΒͣߦ͍͍ͨॲ
    ཧ͸ FOTVSFઅʹهड़͢Δ
    w SBJTFͰྫ֎Λҙਤతʹൃੜͤ͞Δࣄ͕Ͱ͖Δ

    View Slide