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

ruby03

 ruby03

Ruby講義第3回
irb, shell, 四則演算

Kuniaki IGARASHI

April 21, 2013
Tweet

More Decks by Kuniaki IGARASHI

Other Decks in Technology

Transcript

  1. ͭͷੈք 3VCZޠ͕௨͡Δੈք ߦͣͭίʔυΛ࣮ߦ 04ޠ͕௨͡Δੈք λʔϛφϧͷத 3VCZ JSC 3VCZޠ͕௨͡Δੈք ϑΝΠϧʹίʔυΛॻ͍࣮ͯߦ 3VCZ

    ϑΝΠϧ 4IFMM ݴ༿ͷղઆɿίʔυϓϩάϥϜɹͰ͢ɻ ίʔυͬͯݴ͏ͱϓϩͬΆ͔͍͍ͯͬ͘͜Ͱ͢ɻ 
  2. JSC *OUFSBDUJWF3V#Zͷུ .BDλʔϛφϧ 8JO$PNNBOE1SPNQUXJUI3VCZBOE3BJMT -JOVY 6CVOUV ୺຤ ˞෼͔Βͳ͍৔߹͸࣍ͷϖʔδࢀর ˞ˢͲΕ΋ࠓޙ͸λʔϛφϧͱݺͼ·͢ɻ λʔϛφϧͷ࿨༁͕୺຤

    ىಈͯ͠ҎԼͷΑ͏ʹೖྗͯ͠&OUFSΛԡ͍ͯͩ͘͠͞ɻ ͜Μͳ෩ʹද͕ࣔग़Ε͹0,Ͱ͢ɻ Q JSC ˞ઌ಄ͷ͸λʔϛφϧͰ͋Δ͜ͱΛද͢ϚʔΫͰ͢ɻ ͱɺͦͷ࣍ͷεϖʔε͸ೖྗෆཁͰ͢ɻJSCͱଧͯ͹0,ɻ ࠓޙɺλʔϛφϧͰଧͭίϚϯυ͸ಉ͡ॻࣜ ࢵͷഎܠ৭ɺϚʔΫ Ͱॻ͖·͢ɻ  ˞JSCΛऴྃͤ͞Δʹ͸FYJUͱଧͪ·͢ɻ JSC͸SVCZίʔυΛߦ࣮ͣͭߦ͢Δ؀ڥͰ͢ɻ ىಈํ๏
  3. QVUT z)FMMPXPSMEz  ը໘ʹจࣈΛදࣔ͢Δίʔυ ը໘ʹจࣈΛදࣔ͢Δίʔυʹ͸ɺ ͖͞΄ͲͷQVUTͷ΄͔ʹɺ QSJOU Qͱ͍͏ϝιου΋͋Γ·͢ɻ QSJOU z)FMMPXPSMEz

    Q z)FMMPXPSMEz දࣔޙɺվߦ දࣔޙɺվߦ͠ͳ͍ վߦ͢Δ৔߹͸aO 8JOͷ৔߹͸ˇO ΛೖΕ·͢ɻ σόοά ෆ۩߹मਖ਼ ༻ ͜ͷઌͷߨٛͰΑ͘࢖͍·͢ QSJOU z)FMMPaOXPSMEaOz
  4. QVUT z)FMMP 8PSMEz ϝιουɹɹɹҾ਺ ϝιουɿखଓ͖ɺ໋ྩ Ҿ਺ɿϝιουʹ౉͢σʔλ z)FMMP 8PSMEz͸4USJOH จࣈྻ ΦϒδΣΫτͰ͋Γɺ

    ͜ͷ৔߹͸ϝιου΁౉͍ͯ͠ΔͷͰҾ਺Ͱ΋͋Γ·͢ɻ ·ͨɺҾ਺ͷલޙʹ͍͍ͭͯΔΧοί ͸ ݪଇ লུՄೳͰɺ ͷ୅ΘΓʹεϖʔεͰॻ͘͜ͱ΋Ͱ͖·͢ɻ ͭ·ΓɺҎԼͷจ͸ಉ͡ҙຯͰ͢ɻ  QVUT )FMMP 8PSME QVUT)FMMP 8PSME ڭՊॻ Q 
  5. QVUT  QVUT QVUT  QVUT QVUT  QVUT QVUT

    ݴ༿ͷઆ໌ ϝιου QVUT ԋࢉࢠ  ͱ͔ͱ͔ ΦϒδΣΫτ ͱ͔̎ͱ͔ ੔਺ΦϒδΣΫτ  'JYOVNΦϒδΣΫτ 
  6. QVUT  QVUT QVUT  QVUT QVUT  QVUT QVUT

    ܭࢉ͢Δͱ͖ͷ஫ҙ ͱ͜ΖͰɺ͜Εɺ ݁Ռ͕มͩͱ ࢥ͍·ͤΜ͔ʁ 
  7. QVUT  QVUT QVUT  QVUT QVUT  QVUT QVUT

    ܭࢉ͢Δͱ͖ͷ஫ҙ ͱ͜ΖͰɺ͜Εɺ ԿݴͬͯΜͰ͔͢ʁ ;FSP%JWJTJPO&SSPS EJWJEFECZ GSPN JSC JOA GSPN JSC  
  8. ਖ਼͘͠ͳ͍ϓϩάϥϜΛ࣮ߦͨ͠Γɺ 3VCZ͕ॲཧʹࠔΔͱɺ Τϥʔϝοηʔδ͕දࣔ͞Ε·͢ɻ JSC NBJO  ;FSP%JWJTJPO&SSPS EJWJEFECZ GSPN JSC

    JOA GSPN JSC  ͰׂΓࢉ͢ΔͱΤϥʔʹͳΔͷͰ ஫ҙ͍ͯͩ͘͠͞ɻ Τϥʔϝοηʔδ ೔ຊޠ༁ θϩআࢉΤϥʔͩΑɻ ͰׂͬͯΔΑɻ ͷͱ͜ΖͩΑɻ 
  9. 3BUJPOBM   3BUJPOBM   3BUJPOBM  3BUJPOBM 

    USVF Λճ଍ͨ͠Βʹͳͬͨ 3BUJPOBM ෼ࢠ෼฼  খ਺Λਖ਼֬ʹܭࢉ͍ͨ͠৔߹͸ɺ ੔਺ʹͯ͠ܭࢉ͢Δ͔ɺ 3BUJPOBM ༗ཧ਺ ΦϒδΣΫτΛ࢖͏ 
  10.  QQVUT    OJM QFYJU JSC JSCͷੈքͱTIFMMͷੈք JSCͷ֎͸TIFMMͱ͍͏ੈք

     TIFMM TIFMM JSC 3VCZޠ͕௨͡Δੈք  TIFMMޠ͕௨͡Δੈք TIFMMޠ͕௨͡Δੈք
  11.  QQVUT    OJM QFYJU JSC ੈքΛҠಈ͢ΔίϚϯυ TIFMM

    TIFMM JSC 3VCZޠ͕௨͡Δੈք  TIFMMޠ͕௨͡Δੈք TIFMMޠ͕௨͡Δੈք JSC ίϚϯυ FYJU ίϚϯυ Ͱ͸ɺTIFMMʹ͍ͭͯ΋͏গ͠ৄ͘͠આ໌͠·͢ɻ
  12. લ४උ-JOVY 6CVOUV -JOVY 6CVOUV IPNFϑΥϧμͷԼʹ޷͖ͳ໊લ ͰϑΥϧμΛ࡞͍ͬͯͩ͘͞ɻ ିग़1$ͷਓ͸ࣗ෼ͷ໊ લΛ͚ͭΔͱ͍͍͔΋ɻ  ྫ

    IPNFEFWTSD  ͜Ε͔ΒͷߨٛͰॻ͘ίʔυΛஔ͘৔ॴΛ࡞͓͖ͬͯ·͢ɻ ˞ҎԼɺ͓קΊͷ৔ॴΛॻ͖·͕͢ɺৄ͍͠ਓ͸ࣗ෼ͷ޷͖ͳ৔ॴͰߏΘͳ͍Ͱ͢ɻ
  13. 3VCZίʔυΛϑΝΠϧʹهड़࣮ͯ͠ߦ ΤσΟλΛىಈ͠·͢ɻ Πϯετʔϧͨ͠ΤσΟλΛىಈ͠·͢ɻ ͓קΊΤσΟλ 8JO .BD4VCMJNF5FYU -JOVY 6CVOUV HFEJU 6CVOUV͸࣍ϖʔδʹղઆ͋Γ·͢ɻ

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

    ˞QXEίϚϯυΛ࢖͏ͱݱࡏͷϑΥϧμΛ֬ೝͰ͖·͢ɻ IFMMPSCΛ࣮ߦ͠·͢ɻ ˞ҎԼͷΤϥʔ͕ग़ͨͱ͖͸MTίϚϯυͰϑΝΠϧ༗ແΛ֬ೝ͠·͢ɻ SVCZ/PTVDIpMFPSEJSFDUPSZ999SC -PBE&SSPS ↵FOUFS
  15. )FMMP 3VCZ IFMMPFSSPSSCJOANBJOVOEFpOFE NFUIPEAQSJOGPSNBJO0CKFDU /P.FUIPE&SSPS Τϥʔϝοηʔδ QSJOU z)FMMP 3VCZaOz QSJO

    )J ˡਖ਼͘͠ͳ͍ ਖ਼͘͠ͳ͍ϓϩάϥϜΛ࣮ߦ͠Α͏ͱ͢Δͱɺ Τϥʔϝοηʔδ͕දࣔ͞Ε·͢ɻ ҎԼͷίʔυΛ࣮ߦͯ͠Έ͍ͯͩ͘͞ɻ IFMMPFSSPSSC SVCZIFMMPFSSPSSC 
  16.  ೔ຊޠͱจࣈίʔυ SVCZDIJIBZBGVSC FODPEJOHVUG QVUT zͪ͸΍;Δ͔ΈΑ΋͖͔͕ͣͨͭͨΘz QVUT z͔Β͘Εͳ͍ʹΈͣ͘͘Δͱ͸z DIJIBZBGVSC 3VCZίʔυதʹ೔ຊޠΛॻ͘৔߹͸ɺߦ໨ʹ

    FODPEJOHVUG ͳͲͱॻ͘ඞཁ͕͋Γ·͢ɻ ϚδοΫίϝϯτͱݺͼ·͢ ͪ͸΍;Δ͔ΈΑ΋͖͔͕ͣͨͭͨΘ ͔Β͘Εͳ͍ʹΈͣ͘͘Δͱ͸ ڭՊॻ Q
  17. ίϯϐϡʔλͰ೔ຊޠΛѻ͏৔߹ʹ͸ ͍͔ͭ͘ͷදݱํ๏͕͋Γ·͢ɻ ͜ΕΛɹจࣈίʔυɹͱݺͼ·͢ɻ จࣈίʔυͷछྨ 65'ɿجຊ͸͜ΕͰ0,ɻελϯμʔυͳํ๏ɻ $1 4IJGU+*4 8JOEPXTͰ࢖ΘΕΔɻ จࣈίʔυ 

    4VCMJNF5FYU΍HFEJUͰ͸σϑΥϧτ ॳظઃఆ ͕ 8JO Ͱ΋ 65'ʹͳ͍ͬͯΔͷͰɺಛʹมߋ͢Δඞཁ͸ͳ͍Ͱ͢ɻ ˞ͳΜΒ͔ͷཧ༝Ͱมߋ͢Δ৔߹͸'JMFϝχϡʔͷ TBWFXJUI&ODPEJOHΛબͼ·͢ɻ
  18. QVUT z)FMMP 8PSMEz ϝιουɹɹɹҾ਺ ϝιουɿखଓ͖ɺ໋ྩ Ҿ਺ɿϝιουʹ౉͢σʔλ z)FMMP 8PSMEz͸4USJOH จࣈྻ ΦϒδΣΫτͰ͋Γɺ

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

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

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

    ˞QXEίϚϯυΛ࢖͏ͱݱࡏͷϑΥϧμΛ֬ೝͰ͖·͢ɻ IFMMPSCΛ࣮ߦ͠·͢ɻ ˞ҎԼͷΤϥʔ͕ग़ͨͱ͖͸MTίϚϯυͰϑΝΠϧ༗ແΛ֬ೝ͠·͢ɻ SVCZ/PTVDIpMFPSEJSFDUPSZ999SC -PBE&SSPS ↵FOUFS