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

ruby04

 ruby04

Ruby講義 第4回
変数、条件分岐、繰り返し、メソッド、require

Kuniaki IGARASHI

April 26, 2013
Tweet

More Decks by Kuniaki IGARASHI

Other Decks in Technology

Transcript

  1. QVUT z)FMMP 8PSMEz ϝιουɹɹɹҾ਺ ϝιουɿखଓ͖ɺ໋ྩ Ҿ਺ɿϝιουʹ౉͢σʔλ z)FMMP 8PSMEz͸4USJOH จࣈྻ ΦϒδΣΫτͰ͋Γɺ

    ͜ͷ৔߹͸ϝιου΁౉͍ͯ͠ΔͷͰҾ਺Ͱ΋͋Γ·͢ɻ ·ͨɺҾ਺ͷલޙʹ͍͍ͭͯΔΧοί ͸ ݪଇ লུՄೳͰɺ ͷ୅ΘΓʹεϖʔεͰॻ͘͜ͱ΋Ͱ͖·͢ɻ ͭ·ΓɺҎԼͷจ͸ಉ͡ҙຯͰ͢ɻ  QVUT )FMMP 8PSME QVUT)FMMP 8PSME ڭՊॻ Q 
  2. JSC *OUFSBDUJWF3V#Zͷུ .BDλʔϛφϧ 8JO$PNNBOE1SPNQUXJUI3VCZBOE3BJMT -JOVY 6CVOUV ୺຤ ˞෼͔Βͳ͍৔߹͸࣍ͷϖʔδࢀর ˞ˢͲΕ΋ࠓޙ͸λʔϛφϧͱݺͼ·͢ɻ λʔϛφϧͷ࿨༁͕୺຤

    ىಈͯ͠ҎԼͷΑ͏ʹೖྗͯ͠&OUFSΛԡ͍ͯͩ͘͠͞ɻ ͜Μͳ෩ʹද͕ࣔग़Ε͹0,Ͱ͢ɻ Q JSC ˞ઌ಄ͷ͸λʔϛφϧͰ͋Δ͜ͱΛද͢ϚʔΫͰ͢ɻ ͱɺͦͷ࣍ͷεϖʔε͸ೖྗෆཁͰ͢ɻJSCͱଧͯ͹0,ɻ ࠓޙɺλʔϛφϧͰଧͭίϚϯυ͸ಉ͡ॻࣜ ࢵͷഎܠ৭ɺϚʔΫ Ͱॻ͖·͢ɻ ˞JSCΛऴྃͤ͞Δʹ͸FYJUͱଧͪ·͢ɻ JSC͸SVCZίʔυΛߦ࣮ͣͭߦ͢Δ؀ڥͰ͢ɻ ىಈํ๏ 
  3. 3VCZίʔυΛϑΝΠϧʹهड़࣮ͯ͠ߦ ΤσΟλΛىಈ͠·͢ɻ Πϯετʔϧͨ͠ΤσΟλΛىಈ͠·͢ɻ ͓קΊΤσΟλ 8JO .BD4VCMJNF5FYU -JOVY 6CVOUV HFEJU 6CVOUV͸࣍ϖʔδʹղઆ͋Γ·͢ɻ

    IFMMPSCͱ͍͏໊લͰอଘ͠·͢ɻ QVUT z)FMMPXPSMEz ϓϩάϥϜΛೖྗ͠·͢ɻ खॱͰ࡞ͬͨϑΥϧμͷԼʹอଘ͍ͯͩ͘͠͞ɻ ˞໊લ͸SCΛ෇͚Ε͹ɺଞͷ໊લͰ΋0,Ͱ͢ɻ 
  4. 3VCZίʔυΛϑΝΠϧʹهड़࣮ͯ͠ߦ λʔϛφϧΛىಈ͠·͢ɻ SVCZIFMMPSC )FMMPXPSMEͱදࣔ͞ΕΕ͹੒ޭͰ͢ɻ  ੒ޭྫ DETSD ˞SVCZ<ϑΝΠϧ໊>Ͱ࣮ߦ DEίϚϯυͰIFMMPSCΛอଘͨ͠ϑΥϧμ΁Ҡಈ͠·͢ɻ QXE

    ˞QXEίϚϯυΛ࢖͏ͱݱࡏͷϑΥϧμΛ֬ೝͰ͖·͢ɻ IFMMPSCΛ࣮ߦ͠·͢ɻ ˞ҎԼͷΤϥʔ͕ग़ͨͱ͖͸MTίϚϯυͰϑΝΠϧ༗ແΛ֬ೝ͠·͢ɻ SVCZ/PTVDIpMFPSEJSFDUPSZ999SC -PBE&SSPS ↵FOUFS
  5. BCD B BCD B C ม਺ ΦϒδΣΫτ "#$ B C

    B͸ΦϒδΣΫ τzBCDzΛࣔ ͢ม਺ C΋Bͱಉ͡ zBCDzΛࣔ͢ ม਺ Bͷࢦ͢Φϒ δΣΫτΛେ จࣈʹ͢Δ B‎z"#$z C‎z"#$z BBCD CB BVQDBTF QVUTB QVUTC 
  6. B BCD B C ม਺ ΦϒδΣΫτ B C B͸ΦϒδΣΫ τzBCDzΛࣔ

    ͢ม਺ C͸ผͷΦϒδΣ ΫτzBCDzΛࢦ ͢ Bͷࢦ͢Φϒδ ΣΫτΛେจ ࣈʹ͢Δ B‎z"#$z C‎zBCDz BCD "#$ BCD BCD BBCD CBCD BVQDBTF QVUTB QVUTC 
  7. Y JGY QVUTYJT FOE ৚݅൑அԋࢉࢠ ͸ࠨล Y ͱӈล  ͕ಉ͔͡Ͳ͏͔ௐ΂ͯɺ

    ಉ͡ͳΒ͹USVFɺҟͳΕ͹GBMTFʹͳΓ·͢ɻ Y͕ͱಉ͔͡൑அ͠ Y͕ͷ࣌ʹ QVUT͕࣮ߦ͞Ε·͢ɻ ͕ݸͰ͢ɻ͕ͭͩͱ୅ೖʹͳͬͯ͠·͏ͷͰ஫ҙɻ ͪͳΈʹɺҟͳΔ͔Λ൑அ͢Δ΋͋Γ·͢ɻ ΄͔ʹ΋   ͳͲ΋࢖͑·͢ɻ 
  8. JGจͷԋश Y JG QVUTYJT FOE ίʔυΛ࣮ߦͨ͠ࡍ ʹYJT͕දࣔ͞ΕΔ Α͏ʹӈͷۭཝ ࠇ෦෼ ΛຒΊͯίʔυΛ׬੒͞

    ࣮ͤͯߦ͍ͯͩ͘͠͞ɻ Y͕TVOOZEBZͱ͍͏จࣈྻͷͱ͖͸ :FBIɺͦΕҎ֎ͷͱ͖͸TJHIͱදࣔͤ͞Δ ίʔυΛॻ͍࣮ͯߦ͍ͤͯͩ͘͞͞ɻ 
  9. JGจͷԋशɹղ౴ Y JGY QVUTYJT FOE  Y͕TVOOZEBZͱ͍͏จࣈྻͷ ͱ͖͸:FBIɺͦΕҎ֎ͷͱ͖͸ TJHIͱදࣔͤ͞ΔίʔυΛॻ͍࣮ͯߦ ͍ͤͯͩ͘͞͞ɻ

    YTVOOZEBZ JGYTVOOZEBZ QVUT:FBI FMTF QVUTTJHI FOE Y JGY QVUTYJT FOE ଞʹ΋͍Ζ͍Ζॻ͚·͢ 
  10. ϝιουͷఆٛɺݺͼग़͠ IFMMP ΛݺͿͱɺࣄલʹఆ͍ٛͯͨ͠IFMMPϝιου͕ݺ ͹Ε࣮ߦ͞Ε·͢ɻ ͜͜Ͱ͸QVUT)FMMP IFMMP ͷ ͸লུՄೳͰ͢ɻ ᐆດʹͳΒͳ͍ݶΓ ఆٛ

    ݺͼग़͠ EFGϝιου໊ ϝιουͰ࣮ߦ͍ͨ͠ॲཧ FOE ϝιουఆٛʹ͸ EFGΛ࢖͍·͢ EFGIFMMP QVUT)FMMP FOE IFMMP ڭՊॻ Q 
  11. ఆٛ ݺͼग़͠ EFGIFMMP XPSE QVUTXPSE FOE IFMMP )J IFMMP )J

    ͱݺͼग़͢ͱɺIFMMPϝιου͕ݺ͹Ε·͢ɻ ͦͷࡍʹXPSE)Jͷ୅ೖ͕ߦΘΕ·͢ɻ ͦͷޙϝιουͷத਎͕࣮ߦ͞Ε·͢ɻ QVUTXPSE͕࣮ߦ͞ΕɺXPSEʹ͸)J͕୅ೖ͞Ε͍ͯ ΔͷͰɺಈ࡞ͱͯ͠͸)J͕දࣔ͞Ε·͢ɻ ఆٛ࣌ʹϝιου໊ʹଓ͍ͯ ม਺໊ Λॻ͘ͱɺ ݺͼग़࣌͠ʹ౉͞ΕͨҾ਺Λͦͷม਺ʹ୅ೖͨ͠ঢ়ଶͰ ϝιουΛ࣮ߦͰ͖·͢ɻ Ҿ਺෇͖ͷϝιου 
  12. SFRVJSF IFMMPSC VTF@IFMMPSC ࣮ߦ ‐ڭՊॻ͸SFRVJSFIFMMPʹͳ ͍ͬͯ·͕͢ɺ3VCZҎ߱ͩ ͱΤϥʔʹͳΔͷͰIFMMPͱ ͍ͯͩ͘͠͞ɻ͸ TIFMMͰ ࠓ͍

    ΔϑΥϧμͷҙຯͰ͢ɻ ϝιουఆٛͳͲΛผͷϑΝΠϧʹॻ͖ɺಡΈࠐΉ͜ͱ͕Ͱ͖·͢ɻ EFGIFMMP QVUT)FMMP FOE SFRVJSFIFMMP IFMMP SVCZVTF@IFMMPSC ্هͭͷϑΝΠϧΛಉ͡ϑΥϧμʹஔ͍ͯҎԼͷίϚϯυ ڭՊॻ Q 
  13. ˞͜͜ʹϝιουఆٛΛॻ͘ EJTQMBZ :FT EJTQMBZ +B ϝιουͷԋश EJTQMBZSC ԋश ҎԼͷΑ͏ͳ݁ՌʹͳΔΑ͏ʹ ҎԼͷίʔυEJTQMBZSCͷ˞෦෼ʹ

    EJTQMBZϝιουͷఆٛΛॻ͍͍ͯͩ͘͞ SVCZEJTQMBZSC :FT +B ‏࣮ߦ݁Ռ͸͜ͷߦ͕දࣔ͞Εͯ΄͍͠ ‏࣮ߦͨ͠ͱ͖ʹ ώϯτɿ Ҿ਺෇͖ϝιου ఆٛΛ࢖͍·͢ 
  14. ϝιουͷԋशɹղ౴ ԋश )FMMPΛը໘ʹදࣔ͢ΔIFMMPϝιουΛఆٛͯ͠ݺͼग़͢ί ʔυΛॻ͍࣮ͯߦ͍ͯͩ͘͠͞ɻ‎ԋशͷϖʔδʹॻ͍ͯ͋Δ௨Γ EFGEJTQMBZ UFYU QVUTUFYU FOE EJTQMBZ :FT

    EJTQMBZ +B EJTQMBZSC ԋश ҎԼͷΑ͏ͳ݁ՌʹͳΔΑ͏ʹҎԼͷίʔυEJTQMBZSCͷ ˞෦෼ʹEJTQMBZϝιουͷఆٛΛॻ͍͍ͯͩ͘͞ SVCZEJTQMBZSC 
  15. Y JGY QVUTYJT FOE ৚݅൑அԋࢉࢠ ͸ࠨล Y ͱӈล  ͕ಉ͔͡Ͳ͏͔ௐ΂ͯɺ

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

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

    ΔϑΥϧμͷҙຯͰ͢ɻ ϝιουఆٛͳͲΛผͷϑΝΠϧʹॻ͖ɺಡΈࠐΉ͜ͱ͕Ͱ͖·͢ɻ EFGIFMMP QVUT)FMMP FOE SFRVJSFIFMMP IFMMP SVCZVTF@IFMMPSC ্هͭͷϑΝΠϧΛಉ͡ϑΥϧμʹஔ͍ͯҎԼͷίϚϯυ ڭՊॻ Q