はじめてのRuby 第2章 / Ruby Practice 02

Fd09da0d9751bb7875ef4ff7e6201860?s=47 muttan
October 18, 2016

はじめてのRuby 第2章 / Ruby Practice 02

Fd09da0d9751bb7875ef4ff7e6201860?s=128

muttan

October 18, 2016
Tweet

Transcript

  1. ͨͷ͍͠3VCZୈষ

  2. ศརͳΦϒδΣΫτ w จࣈྻ΍਺஋ͷΑ͏ͳΦϒδΣΫτΛ࡞੒ͨ͠ ʢୈষʣ͕ɺ࣮ࡍʹ͸΋͏গ͠ෳࡶͳΦϒδΣ ΫτΛѻ͏ඞཁ͕ग़ͯ͘Δ
 w ࠓճͷষͰ͸ɺ༷ʑͳσʔλߏ଄ʹֶ͍ͭͯͿ

  3. ഑ྻ "SSBZ

  4. ഑ྻ "SSBZ w ෳ਺ͷΦϒδΣΫτΛॱং෇͖Ͱ֨ೲ͢Δσʔ λߏ଄ w جຊతʹ$ͱΞΫηεํ๏౳͸ಉ͡

  5. ഑ྻΛ࡞Ζ͏ w ഑ྻ͸<>ͰશମΛғΈɺΧϯϚ۠੾ΓͰཁૉΛฒ ΂Δ͜ͱͰ࡞੒Ͱ͖Δ w ۭͷ഑ྻ΋࡞੒͢Δ͜ͱ͕Ͱ͖Δ OBNFT<௕༑ ٢ా ৿ॏ lञҪz>

    OBNFT<>
  6. ΦϒδΣΫτͷऔΓग़͠ ΦϒδΣΫτ΁ͷ୅ೖ w ഑ྻ΁ͷΞΫηε͸$ͱಉ༷ʹߦ͏
 w ఴࣈ͸͔Β࢝·Δ͜ͱʹ஫ҙ͢Δ w ୅ೖ΋Λ࢖͏͜ͱͰߦ͏͜ͱ͕Ͱ͖Δ OBNFT<௕༑ ٢ా

    ৿ॏ lञҪz> QVUTOBNFT<>௕༑͕ग़ྗ͞ΕΔ QVUTOBNFT<>٢ా͕ग़ྗ͞ΕΔ 1ྫΛ࣮ߦ OBNFT<>lౡాz
  7. ഑ྻͷத਎ w จࣈྻ͚ͩͰͳ͘ ਺ࣈͷ഑ྻ΋΋ͪΖΜ࡞Δ͜ ͱ͸Մೳ w ෳ਺ͷΦϒδΣΫτΛࠞͥͯ഑ྻʹ֨ೲ͢Δ͜ ͱ͕Ͱ͖Δ w ࣌ࠁ΍ϑΝΠϧΛද͢ΦϒδΣΫτ΋֨ೲՄೳ

    NJYFE< l͠z  l·z  l΋z  lΜz>
  8. ഑ྻͷαΠζ w ഑ྻͷαΠζΛऔಘ͢Δʹ͸ɺ0CKTJ[Fͱͯ͠औ ಘ͢Δ͜ͱ͕Ͱ͖Δ JSC NBJO NJYFE< ͠  ·

     ΋  Μ> < ͠  ·  ΋  Μ> JSC NBJO QNJYFETJ[F  
  9. ഑ྻͱ܁Γฦ͠ w FBDIϝιουͱ͍͏ΠςϨʔλ͕༻ҙ͞Ε͍ͯ Δ w ഑ྻ಺ͷཁૉ͢΂ͯʹରͯ͠ΞΫηε͍ͨ͠ͱ͖ ʹศརͳํ๏ "SZFBDIEPcWBSc FYQSFTTJPO FOE

  10. ഑ྻͱ܁Γฦ͠ w EPʜFOEͰғ·Ε͍ͯΔ෦෼ ΛϒϩοΫͱ͍͏ w cWBScͷ෦෼ʹ͸ɺऔΓग़ͨ͠ ഑ྻͷཁૉ͕֨ೲ͞Ε͍ͯΔ w FBDIϝιου͸ΦϒδΣΫτ ͷཁૉͭͭऔΓग़͠ɺ͢΂

    ͯऔΓग़ͨ͠Βऴྃ͢Δ w ΄͔ʹ΋͋Δ͚ͲͦΕ͸ষ Ͱ "SZFBDIEPcWBSc FYQSFTTJPO FOE
  11. ഑ྻͱ܁Γฦ͠ʢ࣮ߦྫʣ OBNFT<௕༑ ٢ా ৿ॏ ञҪ> OBNFTFBDIEPcOBNFc QVUTlOBNF\OBNF^\OBNF^͸ม਺ల։ FOE ίʔυྫ OBNF௕༑

    OBNF٢ా OBNF৿ॏ OBNFञҪ ࣮ߦ݁Ռ
  12. ϋογϡ )BTI

  13. ϋογϡ w ഑ྻΦϒδΣΫτ͸ɺΦϒδΣΫτ΁ͷΞΫη εʹ਺ࣈΛΩʔͱͯ͠ΞΫηε͢Δ BSSBZ<>  w ϋογϡ͸Ωʔͱͯ͠ɺ਺ࣈ͚ͩͰͳ͘จࣈྻ ΍γϯϘϧʢ˞ޙड़ʣΛར༻͢Δ͜ͱ͕Ͱ͖Δ
 ྫ

    PCK<lTIJNBEBz>ͱ͔TDPSF<lTIJNBEBz>ल
  14. γϯϘϧͱ͸ w ϝιουͳͲͷ໊લΛࣝผ͢ΔͨΊͷϥϕϧΛ ΦϒδΣΫτʹͨ͠΋ͷʢE ?@?P ʁʁʁʁʁʁʣ w γϯϘϧ͸ઌ಄ʹʢίϩϯʣΛ෇͚ͯද͢ w ͳʹΛݴ͍ͬͯΔ͔Α͘Θ͔Βͳ͍ͷͰ࣮ݧ

  15. for i in 1..10 puts'hoge'.object_id end 83889020 83888970 83888940 83888910

    83888880 83888850 83888820 83888790 83888760 83888730 ίʔυ ग़ྗ ˢશ෦ҧ͏*%
  16. for i in 1..10 puts :hoge.object_id end 212008 212008 212008

    212008 212008 212008 212008 212008 212008 212008 ίʔυ ग़ྗ ˢશ෦ಉ͡*%
  17. จࣈྻͱϋογϡͷҧ͍ w จࣈྻ͸ੜ੒͢ΔͨͼʹҟͳΔΦϒδΣΫτΛੜ੒͍ͯ͠Δ ʢPCKFDU@JE͕ຖճҟͳ͍ͬͯͨʣ w ϋογϡ͸౓ΦϒδΣΫτΛੜ੒͢Δͱɺಉ໊͡લͰ͋Δ ݶΓಉ͡ΦϒδΣΫτΛࢀর͢Δ
 ʢจࣈྻͷΑ͏ʹຖ౓ੜ੒͢Δख͕ؒͳ͍ͷͰޮ཰͕ྑ͘ߴ ଎Ͱ͋Δʣ w

    ϋογϡͷΩʔʹ࠷ద w ৄ͘͠͸ͪ͜Β
 IUUQTEPDTSVCZMBOHPSHKBMBUFTUDMBTT4ZNCPMIUNM
  18. ϋογϡΛ࡞Δ w ϋογϡͷ࡞੒ํ๏͸഑ྻͱࣅ͍ͯΔ͕ <>Ͱ͸ ͳ͘\^ͰσʔλΛғΉඞཁ͕͋Δ w γϯϘϧʹؔͯ͠͸ҎԼͷΑ͏ʹॻ͘͜ͱ΋Մೳ TPOH\UJUMFlγϚμϚαγz BSUJTUlUBJLPz^ QFSTPO\l໊લzlౡాz

    lԾ໊zl·͞͠z^ NBSL\l+BDLz l2VFFOz l,JOHz^ TPOH\UJUMFlγϚμϚαγz BSUJTUlUBJLPz^
  19. ϋογϡͷૢ࡞ w ϋογϡʹ֨ೲ͞ΕͨΦϒδΣΫτ΁ͷΞΫη ε͸ɺ഑ྻͱಉ༷ʹߦ͏͜ͱ͕Ͱ͖Δ )BTIΦϒδΣΫτ<Ωʔ> )BTIΦϒδΣΫτ<Ωʔ>֨ೲ͍ͨ͠ΦϒδΣΫτ 1ྫΛ࣮ߦ

  20. ϋογϡͷ܁Γฦ͠ w ϋογϡΦϒδΣΫτ΋FBDIϝιουʢΠςϨʔ λʣΛར༻͢Δ͜ͱͰ͢΂ͯͷཁૉʹΞΫηε͢ Δ͜ͱ͕Ͱ͖Δ 1ྫΛ࣮ߦ HashObj.each do |key, value|

    expression end
  21. ਖ਼نදݱ 3FHFYQ

  22. ਖ਼نදݱ w ਖ਼نදݱΛ࢖ͬͯ࠷ߴͷϚονϯάੜ׆ΛૹΖ ͏ w ਖ਼نදݱΛ࢖͏͜ͱͰɺಛఆͷจࣈύλʔϯΛ ؆୯ ʹهड़͢Δ͜ͱ͕Ͱ͖Δ w ৄ͘͠͸ͪ͜Β


    IUUQTEPDTSVCZMBOHPSHKBMBUFTUEPD TQFDGSFHFYQIUNM
  23. ύλʔϯͱϚονϯά w 3VCZͰ͸ɺQBUUFSOͱ͍͏ܗͰਖ਼نදݱΛه ड़͢Δ ྫ ਖ਼نදݱ Ϛον͢Δจࣈྻ 3VCZ 3VCZ K3VCZ

    BCD3VCZIJK 3VCZJ SVCZ 36#: S6CZ 8<BFJPV>SE 8BSE 8FSE 8JSE 8PSE 8VSE <?BE> F G H I BEҎ֎ͷจࣈ
  24. ύλʔϯͱϚονϯά w ύλʔϯϚονΛߦ͏ࡍ͸
 
 ͱॻ͘Ϛονͨ͠৔߹͸ͦͷҐஔ Ϛον͠ͳ ͍৔߹͸OJM͕ฦΔ
 
 ྫ ਖ਼نදݱdϚονϯά͍ͨ͠จࣈྻ

    JSC NBJO 3VCZdK3VCZ  JSC NBJO 3VCZdKUVCZ OJM JSC NBJO 3VCZJdlKSVCZେจࣈখจࣈΛ۠ผ͠ͳ͍ 
  25. ͱ͜ΖͰOJMͬͯͳʹʁ

  26. OJMͱ͸ w ΦϒδΣΫτ͕ଘࡏ͠ͳ͍͜ͱΛࣔ͢ಛผͳ஋ w ϝιου͕ҙຯͷ͋Δ஋Λฦ͞ͳ͍ͱ͖ʹ΋ฦ ͞ΕΔ w 3VCZͰ͸৚݅෼ذ͢ΔࡍʹɺGBMTFͱOJMͷΈِ ͱ൑அ͞ΕɺͦΕҎ֎͸ਅͱ൑அ͞ΕΔ
 ʢԿճ͔ޙʹ͜ͷ֓೦͕Ͱ͖ͯ·͢ʣ