Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rubicureに学ぶメタプログラミング

2,860 views

Published on

学びます

Published in: Technology
  • Be the first to comment

Rubicureに学ぶメタプログラミング

  1. 1. Rubicureに学ぶ メタプログラミング #WDGVDQ
  2. 2. お前 is 誰よ żƋƵƇljƕ#WDGVDQ ǢȇÁDZǾǒȜ܃ƇƤ$3,ƞƁ§SL[LYQHWƤ ޚƁźƞƉǃƤ࠿ੈࡿপLjૃுƏǁҁƋlj 3+3ƕƤƍźЁ಻܈ƃƠǯȜȀȕÁDZǑȜǡȜƝƏ ࡮฀Ɲƥ5XELj࣌ƅƉƞƂŸǁƾ¯ ވتࡏఋƝƥ*Rƞ6FDODƤϊ໨Ƃ݅ƴƙƜƚƿź
  3. 3. ·।।।।।।।।।।।।।।· é¦ƕƴơƥ࡮฀Ƥ༺LjƍƴƏ¦è ¶AAAAAAAAAA¶
  4. 4. Rubyの文法 obj.methƞobj.meth()ƤϪ฀ƥ௚Ǝ 3+3ƺ3WKRQƞƥϰƠǁ्ഴ
  5. 5. Rubyの文法 ǘȒǢƥǓǿǡǐǘDZ class Obj def foo; :instance_foo; end def self.foo; :class_foo; end end
  6. 6. メタプログラミングとは ۲ӃLjƀƓǂƐơƌƙƅǀৗฝƏǁƞ§ ÛȀȖǙȒȉLjޯǁȀȖǙȒȉLjޯǁƉƞÜ '5Ljߵ܃ƍƜࢠൄLj೗Ƈ੤Ƈǁƞ§ ।໹ƥźƚƍƁȊǨȀȖǙȒȈȜǙơࠉǁ नơވ୷ƠૹखҎࡧචƝŸǁƞƥۇƿƠź 5XERQ5DLOVƥ5XEơƀƇǁ'6/ƞ ȊǨȀȖǙȒȈȜǙ֦ࢬƤॿLj࢓Ʒƕڒࣶ
  7. 7. 趣味 ·।।।।।।।।।।।।।· é¦5XEơƀƇǁખഀ୵Ơ¦è 馦ȀȓǖȎNj࠿ੈ¦¦è ¶AAAAAAAAA¶
  8. 8. ·।।।।।।।।।।।।।· é¦5XEơƀƇǁખഀ୵Ơ¦è 馦ȀȓǖȎNj࠿ੈ¦¦è ¶AAAAAAAAA¶
  9. 9. ·।।।।।।।।।।· é¦ȀȓǖȎNj࠿ੈ¦è ¶AAAAAAA¶
  10. 10. Rubicureとは VXHࠀƂӚಔƍƕ5XEJHPȒǍǿȒȓ gem install rubicureƝ௜ధƝƃǁ ֚ۀƥ൭ơŸǁ 3HUOAcme::PrettyCureDQG3WKRQpycure $3,ƥAcme::PrettyCureƁƿ׸źй؊LjࡲƇƜǁ
  11. 11. 経緯 ޳శӚކƋǂƕÛȀȓǖȎNjǸǬǔǦȜÜƝ GULOOELWVƋljƂ3WKRQƝÛ3FXUHÜLj࠿ੈ ǸǬǔǦȜࡤކࡑƤVXHࠀƂǸǬǔǦȜ۪ơ 5XEƝÛ5XELFXUHÜLj࠿ੈ ݤశƤȀȓǖȎNjǸǬǔǦȜĻƝ෌Ƃ3+3ƝU ƝƸॡପƝƠƁƙƕƤƝ§ƞƙƞƞƀżƗơ ֍ƙƜƁƿ5XELFXUHơ3XOO5HTXHVWLj੊ƙƕ
  12. 12. Rubicureとは ݤƤȀȓǖȎNjƙƜƠljƖƙƇƞ߶ƙƕƞƏǁ ruby -rubicure -e'p Precure.now' DzǖDzǖ¯ȀȓǖȎNjƤปਃLj૝ǀƕźƞƏǁ p Precure.dokidoki.girls.map(:name) ǽǔȓȜƎƹljƇlj Cure.peace.pikarin_janken
  13. 13. 実装の特徴 ǰÁǨƤࣃຸƥൄ߇ƠȖǡǬǘLj࣌ƁƐ§ ߑँƝӃڏƝƃǁƸƤƥ$0/੗ƝӃڏƍƜǁ ǑǍȓNjǢƠƟ
  14. 14. ȀȓǖȎNjGirlǓǿǡǐǘDZ
  15. 15. ƥǠȜǙȔDZȜ ƞƍƜǖȌǬǠȎƋǂǁ ॎƍźȀȓǖȎNjƥ$0/ơǰÁǨLjଶҔƏǁ
  16. 16. method_missing 5XEƤખഀ୵ƠȊǨȀȖǙȒȈȜǙࡧච Cure.peaceƞ࣌ƅƞǖȎNjǽÁǢLjࡥ௩Ɲƃǁ Ƃ§def peaceƵƕźƠୗ֬ƂǜÁDzञơ੩ޠ ƏǁDžƇƝƥƠź ǓǿǡǐǘDZơȊǦǬDzƂ੩ޠƍƠƁƙƕƞƃ method_missing(name, args) ƂۋƦǂǁ
  17. 17. 特異メソッド ǖȎNjǽÁǢƞǽǔȓȜƎƹljƇljLjƍƕź¯ ǓǿǡǐǘDZی๨ƤȊǦǬDzLjୗ֬Ɲƃǁ ȀȓǖȎNjƥਇƜGirlǓǿǡǐǘDZƖƂ§ ǖȎNjǽÁǢƤǍȜǢǨȜǢƤƵơ pikarin_jankenȊǦǬDzLjୗ֬Əǁ
  18. 18. 変身 ൲य़ƥȀȓǖȎNjǠȓÁǣƊƞơϰƠǁ ǰȎNjȔǓÁȖȒǏǐÁǿ§ȊǨȋȔǾǒÁǥ ਃࢭƤହǀAcme::PrettyCureƤ$3,Ljٸ࣮ƍƜǁ ƤƝ§ǰǾǒȔDZƤ൲य़ȊǬǤÁǡȊǦǬDz
  19. 19. ƥtransform!ƝŸǁ
  20. 20. ·।।।।।।।।।।· é¦DZȒȜǢǾǒÁȉ¯¦è ¶AAAAAAA¶
  21. 21. 変身 ƓljƠȀȓǖȎNjƥ੩ޠƍƠź ȀȓǖȎNjƥメタモルフォーゼƋƑƕźƍ§ ǾȕǬǠȎƥチェインジƋƑƕź ȀȓǖȎNjƊƞơ$0/Ɲ൲य़ǜÁȔLjୗ֬ Girl#method_missingƝۋƦǂƕȊǦǬDzปƂ ی๨Ƥ൲य़ǜÁȔƞЁ૦ƏǂƦtransform!Əǁ
  22. 22. ruby -rubicure തହƥrequire rubicureƝ௲Ƶݡƶ ǠǐȔƁƿruby -rubicureƺirb -rubicureƝ ֚௙ƏǁƉƞƂƝƃǁ ruby -r jsonƝ§-621ȒǍǿȒȓƂȖÁDzƋ ǂƕमઇơƠǁƤƝ§ȘȜȒǍdzÁơ൹ຳ -r jsonƤգƤǢȃÁǢƥःƅƉƞƂƝƃǁ
  23. 23. ruby -rubicure ŸƞƥÉDžƁǁƠ ƉƤNjǍǰnjNjƥ൭ơی๨ƤƸƤƝƥƠź 5XEOLEUDUXQ ೻ࢻ୵Ơ8QL[ഺȏÁǯnjȓǯnj ruby -run -e rm './*.rb' ޹ӿLjຳຌƍƕ।գơઁƏǁȊǨȀȖǙȒȈȜǙ
  24. 24. むりやりなまとめ ȊǨȀȖǙȒȈȜǙƝಶ߇Ơ೗Ƈƿǂǁ ÉƉƞƂŸǁ ڦ޸ঢƂ୐ƅƠǁƤƝ§ȔÁȔƂ଼ƷƠźƞ੯ ƤƨƞƂǜÁDzLj௲ljƖǀƍơƅƅƠǁ Ɗຳຌƥپҹ୵ơ *LW+XEƤȀȔȓǘǑǢDZơƥԇƩƂŸǁ
  25. 25.    _    \ヽ, ,、      `''|/ノ       .|  _    |  \`ヽ、|    \, V       `L,,_       |ヽ、)      .|     /           ,、     /        ヽYノ    .|       r''ヽ、.|    |        `ー-ヽ|ヮ     |            `|    ヽ,    ,r      .|      ヽ,r'''ヽ!'-‐'''''ヽ、ノ  ,,,..---r',r, , 、`ヽ、 ヾ  ヽ、__/ ./ハレハ i`ヽ、 `''r`ミ_    .レ//r,,,、 レ'レハヾ,  L,,_ `ヽ、     レ, l;;;l   l;;;l`i.リレ' リ ̄~~      ヽ、 ワ `/-'`'`'        `''''''''      ┼ヽ  -|r‐、. レ |                  d⌒) ./| _ノ  __ノ 使用フォント ǤȀǯȜǹÁŏ«Ŏ Migu 2M

×