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

ruby05

 ruby05

Ruby講義 第5回
Array, Hash

Kuniaki IGARASHI

May 03, 2013
Tweet

More Decks by Kuniaki IGARASHI

Other Decks in Technology

Transcript

  1. Y JGY QVUTYJT FOE ৚݅൑அԋࢉࢠ ͸ࠨล Y ͱӈล  ͕ಉ͔͡Ͳ͏͔ௐ΂ͯɺ

    ಉ͡ͳΒ͹USVFɺҟͳΕ͹GBMTFʹͳΓ·͢ɻ Y͕ͱಉ͔͡൑அ͠ Y͕ͷ࣌ʹ QVUT͕࣮ߦ͞Ε·͢ɻ ͕ݸͰ͢ɻ͕ͭͩͱ୅ೖʹͳͬͯ͠·͏ͷͰ஫ҙɻ ͪͳΈʹɺҟͳΔ͔Λ൑அ͢Δ΋͋Γ·͢ɻ ΄͔ʹ΋   ͳͲ΋࢖͑·͢ɻ 
  2. ϝιουͷఆٛɺݺͼग़͠ IFMMP ΛݺͿͱɺࣄલʹఆ͍ٛͯͨ͠IFMMPϝιου͕ݺ ͹Ε࣮ߦ͞Ε·͢ɻ ͜͜Ͱ͸QVUT)FMMP IFMMP ͷ ͸লུՄೳͰ͢ɻ ᐆດʹͳΒͳ͍ݶΓ ఆٛ

    ݺͼग़͠ EFGϝιου໊ ϝιουͰ࣮ߦ͍ͨ͠ॲཧ FOE ϝιουఆٛʹ͸ EFGΛ࢖͍·͢ EFGIFMMP QVUT)FMMP FOE IFMMP ڭՊॻ Q 
  3. SFRVJSF IFMMPSC VTF@IFMMPSC ࣮ߦ ‐ڭՊॻ͸SFRVJSFIFMMPʹͳ ͍ͬͯ·͕͢ɺ3VCZҎ߱ͩ ͱΤϥʔʹͳΔͷͰIFMMPͱ ͍ͯͩ͘͠͞ɻ͸ TIFMMͰ ࠓ͍

    ΔϑΥϧμͷҙຯͰ͢ɻ ϝιουఆٛͳͲΛผͷϑΝΠϧʹॻ͖ɺಡΈࠐΉ͜ͱ͕Ͱ͖·͢ɻ EFGIFMMP QVUT)FMMP FOE SFRVJSFIFMMP IFMMP SVCZVTF@IFMMPSC ্هͭͷϑΝΠϧΛಉ͡ϑΥϧμʹஔ͍ͯҎԼͷίϚϯυ ڭՊॻ Q 
  4. ഑ྻ "SSBZ ΄͔ͷΦϒδΣΫτͷೖΕ΋ͷ OBNFT<zޒेཛྷz zᖛ࡚z> OVNCFST<  > <ͱ>Ͱғ͍ Ͱ۠੾Δɻ

    จࣈྻ΍਺ࣈ΄͔ɺͲΜͳΦϒδΣΫτ΋ೖΓ·͢ɻ ۭͬΆͷ഑ྻ͸<>Ͱ͢ɻ ֓೦ਤΛ࣍ͷϖʔδʹࣔ͠·͢ɻ ڭՊॻ Q ྫ 
  5. ഑ྻ "SSBZ ͷԋश B഑ྻ<  >ͷશཁૉΛදࣔ͢ΔίʔυΛ ॻ͍͍ͯͩ͘͞ɻ B഑ྻ<  >ͷશཁૉΛՃ͑ͨ݁ՌΛදࣔ

    ͢ΔίʔυΛॻ͍͍ͯͩ͘͞ɻ ώϯτ͋Δม਺ʹ਺/Λ଍͢ͷ͸YY /Ͱ͢ɻ͜Ε͸Y /ͱ΋ॻ͚·͢ɻ 
  6. ഑ྻ "SSBZ ͷԋशʲ্ڃʳ Bʲ্ڃʳ഑ྻ<    >Λ<  >ʹ͢ΔίʔυΛ

    ߦͰॻ͍͍ͯͩ͘͞ɻ ώϯτɿϦϑΝϨϯεͰ"SSBZͷϝιουΛ୳ͯ͠Έ·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB Bʲ্ڃʳલड़ͷԋशΛFBDIΛ࢖Θͣʹॻ͍͍ͯͩ͘͞ ώϯτɿJOKFDUΛ࢖͍·͢ɻ࢖͍ํ͸ϦϑΝϨϯε͔Β୳͠·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB Bʲ্ڃʳ഑ྻͷཁૉΛͦΕͧΕഒ͢ΔίʔυΛFBDIΛ࢖Θ ͣʹॻ͍͍ͯͩ͘͞ɻྫ <  >‎<  > ώϯτɿ"SSBZ͸FOVNFSBCMFϞδϡʔϧͷϝιου΋࢖͑·͢ɻ IUUQNJZBNBFHJUIVCJPSVCZEPDKBDMBTTFOVNFSBCMFIUNM 
  7. )BTIͷԋश CϋογϡͷશཁૉΛ දࣔ͢ΔɺӈͷίʔυΛ ࣮ߦ͍ͯͩ͘͠͞ɻ DPEJOHVUG SFDJQF\ UJUMF͍ͪ͝ͷίϯϑΟ  BVUIPSᖛ࡚^ SFDJQFFBDIEPcL

    Wc QSJOUL  W aO FOE CCͷίʔυதͷSFDJQFͷBVUIPSΩʔʹରԠ ͢Δ஋Λޒेཛྷͱ͢Δ୅ೖจΛॻ͍͍ͯͩ͘͞ɻ 
  8. )BTIͷԋशʲ্ڃʳ Cʲ্ڃʳӈͷOVNTΛ஋͕ۮ਺ͷ ཁૉ͚ͩʹ͍ͯͩ͘͠͞ɻ ώϯτɿϦϑΝϨϯεͰ)BTIͷϝιουΛ୳ͯ͠Έ·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB ৒༨ ׂΓࢉͨ͠༨Γ ΛٻΊΔԋࢉࢠ͸Ͱ͢ɻ OVNT\ B

    C D E F^  Cʲ্ڃʳӈͷI I Λ͚ͬͭͯ͘ɺΩʔͱ͠ ͯB C D EΛ࣋ͭ )BTIΛ࡞͍ͬͯͩ͘͞ɻ ώϯτɿϦϑΝϨϯεͰ)BTIͷϝιουΛ ୳ͯ͠Έ·͠ΐ͏ɻ I\ B C^ I\ D E^ ݁Ռ I\ B C D E^
  9. ഑ྻ "SSBZ ΄͔ͷΦϒδΣΫτͷೖΕ΋ͷ OBNFT<zޒेཛྷz zᖛ࡚z> OVNCFST<  > <ͱ>Ͱғ͍ Ͱ۠੾Δɻ

    จࣈྻ΍਺ࣈ΄͔ɺͲΜͳΦϒδΣΫτ΋ೖΓ·͢ɻ ۭͬΆͷ഑ྻ͸<>Ͱ͢ɻ ֓೦ਤΛ࣍ͷϖʔδʹࣔ͠·͢ɻ ڭՊॻ Q ྫ 
  10. ഑ྻ "SSBZ ͷԋश B഑ྻ<  >ͷશཁૉΛදࣔ͢ΔίʔυΛ ॻ͍͍ͯͩ͘͞ɻ B഑ྻ<  >ͷશཁૉΛՃ͑ͨ݁ՌΛදࣔ

    ͢ΔίʔυΛॻ͍͍ͯͩ͘͞ɻ ώϯτ͋Δม਺ʹ਺/Λ଍͢ͷ͸YY /Ͱ͢ɻ͜Ε͸Y /ͱ΋ॻ͚·͢ɻ 
  11. ഑ྻ "SSBZ ͷԋशʲ্ڃʳ Bʲ্ڃʳ഑ྻ<    >Λ<  >ʹ͢ΔίʔυΛ

    ߦͰॻ͍͍ͯͩ͘͞ɻ ώϯτɿϦϑΝϨϯεͰ"SSBZͷϝιουΛ୳ͯ͠Έ·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB Bʲ্ڃʳલड़ͷԋशΛFBDIΛ࢖Θͣʹॻ͍͍ͯͩ͘͞ ώϯτɿJOKFDUΛ࢖͍·͢ɻ࢖͍ํ͸ϦϑΝϨϯε͔Β୳͠·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB Bʲ্ڃʳ഑ྻͷཁૉΛͦΕͧΕഒ͢ΔίʔυΛFBDIΛ࢖Θ ͣʹॻ͍͍ͯͩ͘͞ɻྫ <  >‎<  > ώϯτɿ"SSBZ͸FOVNFSBCMFϞδϡʔϧͷϝιου΋࢖͑·͢ɻ IUUQNJZBNBFHJUIVCJPSVCZEPDKBDMBTTFOVNFSBCMFIUNM 
  12. ഑ྻ "SSBZ ͷԋशղ౴ BSSBZ<  > BSSBZFBDIEPcYc QVUTY FOE B഑ྻ<

     >ͷશཁૉΛදࣔ͢Δίʔυ Λॻ͍͍ͯͩ͘͞ɻ 
  13. ഑ྻ "SSBZ ͷԋशղ౴ TVN BSSBZ<  > BSSBZFBDIEPcYc TVNTVN Y

    FOE QVUTTVN B഑ྻ<  >ͷશཁૉΛՃ͑ͨ݁ՌΛදࣔ͢Δ ίʔυΛॻ͍͍ͯͩ͘͞ɻ ώϯτ͋Δม਺ʹ਺/Λ଍͢ͷ͸YY /Ͱ͢ɻ͜Ε͸Y /ͱ΋ॻ͚·͢ɻ 
  14. ഑ྻ "SSBZ ͷԋशղ౴ Q<    >VOJR ഑ྻதͷॏෳΛআ͖ɺ֤஋ͭͣͭʹ͢Δʹ͸ "SSBZVOJRΛ࢖͍·͢ɻ

    IUUQNJZBNBFHJUIVCDPNSVCZEPDKB NFUIPEBSSBZJVOJRIUNM Bʲ্ڃʳ഑ྻ<    >Λ<  >ʹ͢Δίʔ υΛߦͰॻ͍͍ͯͩ͘͞ɻ ώϯτɿϦϑΝϨϯεͰ"SSBZͷϝιουΛ୳ͯ͠Έ·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB 
  15. ഑ྻ "SSBZ ͷԋशղ౴ Q<  >JOKFDU  \cTVN JcTVN J^

    JOKFDU͸ศརͰ͔͍͍ͬ͜ϝιουͰ͢ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB NFUIPEFOVNFSBCMFJSFEVDFIUNM ͪͳΈʹɺͳͥ"SSBZΫϥεͷϝιουͰ͸ͳ͍JOKFDUΛ࢖͑Δ͔ͱ ͍͏ͱɺ"SSBZ͸&OVNFSBCMFͱ͍͏Ϟδϡʔϧͷϝιου΋࢖͑ Δ͔ΒͰ͢ɻ"SSBZ͚ͩͰͳ͘ɺFBDIΛ࣋ͭશͯͷΫϥε͸ &OVNFSBCMFΛ࢖͏͜ͱ͕Ͱ͖·͢ɻ Bʲ্ڃʳ্هΛFBDIΛ࢖Θͣʹॻ͍͍ͯͩ͘͞ ώϯτɿJOKFDUΛ࢖͍·͢ɻ࢖͍ํ͸ϦϑΝϨϯε͔Β୳͠·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB 
  16. ഑ྻ "SSBZ ͷԋशղ౴ Q<  >NBQ\cJcJ ^ NBQ΋ศརͳϝιουͰ͢ɻΑ͘࢖͍·͢ɻ IUUQNJZBNBFHJUIVCJPSVCZEPDKB NFUIPEFOVNFSBCMFJDPMMFDUIUNM

    Bʲ্ڃʳ഑ྻͷཁૉΛͦΕͧΕഒ͢ΔίʔυΛFBDIΛ࢖Θ ͣʹॻ͍͍ͯͩ͘͞ɻྫ <  >‎<  > ώϯτɿ"SSBZ͸FOVNFSBCMFϞδϡʔϧͷϝιου΋࢖͑·͢ɻ IUUQNJZBNBFHJUIVCJPSVCZEPDKBDMBTTFOVNFSBCMFIUNM 
  17. )BTIͷԋश CϋογϡͷશཁૉΛ දࣔ͢ΔɺӈͷίʔυΛ ࣮ߦ͍ͯͩ͘͠͞ɻ DPEJOHVUG SFDJQF\ UJUMF͍ͪ͝ͷίϯϑΟ  BVUIPSᖛ࡚^ SFDJQFFBDIEPcL

    Wc QSJOUL  W aO FOE CCͷίʔυதͷSFDJQFͷBVUIPSΩʔʹରԠ ͢Δ஋Λޒेཛྷͱ͢Δ୅ೖจΛॻ͍͍ͯͩ͘͞ɻ 
  18. )BTIͷԋशʲ্ڃʳ Cʲ্ڃʳӈͷOVNTΛ஋͕ۮ਺ͷ ཁૉ͚ͩʹ͍ͯͩ͘͠͞ɻ ώϯτɿϦϑΝϨϯεͰ)BTIͷϝιουΛ୳ͯ͠Έ·͠ΐ͏ɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKB ৒༨ ׂΓࢉͨ͠༨Γ ΛٻΊΔԋࢉࢠ͸Ͱ͢ɻ OVNT\ B

    C D E F^  Cʲ্ڃʳӈͷI I Λ͚ͬͭͯ͘ɺΩʔͱ͠ ͯB C D EΛ࣋ͭ )BTIΛ࡞͍ͬͯͩ͘͞ɻ ώϯτɿϦϑΝϨϯεͰ)BTIͷϝιουΛ ୳ͯ͠Έ·͠ΐ͏ɻ I\ B C^ I\ D E^ ݁Ռ I\ B C D E^
  19. )BTIͷԋशղ౴ Cʲ্ڃʳӈͷOVNTΛ஋͕ۮ਺ͷཁૉ͚ͩʹ͍ͯͩ͘͠͞ɻ OVNT\B C D E F^ OVNTTFMFDUEPcL Wc W

    FOE QOVNT TFMFDU͸ɺ͋ͱʹଓ͘ EPFOEͷ݁Ռ͕USVFͷཁૉ͚ͩΛ࢒͢ϝιουͰ͢ɻ ۮ਺͔Ͳ͏͔ͷ൑ఆʹ͸WFWFO ͱॻ͍ͯ΋0,Ͱ͢ɻ IUUQNJZBNBFHJUIVCJPSVCZEPDKBNFUIPEIBTIJTFMFDUIUNM 
  20. )BTIͷԋशղ౴ Cʲ্ڃʳӈͷI IΛ͚ͬͭͯ͘ɺ Ωʔͱͯ͠B C D EΛ࣋ͭ)BTIΛ࡞͍ͬͯͩ͘͞ɻ I\B C^ I\D

    E^ IINFSHF I QI NFSHF͸ͭͷ)BTIΛ͚ͬͭ͘ΔϝιουͰ͢ɻ  IUUQNJZBNBFHJUIVCJPSVCZEPDKBNFUIPEIBTIJNFSHFIUNM ݁Ռ \B C D E^