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

Ruby へコードをコントリビュート してみた話

Ruby へコードをコントリビュート してみた話

第5回 meguro.rb LT で Ruby へ performance improvement の patch を送った話をしました
https://github.com/ruby/ruby/pull/1626
https://megurorb.connpass.com/event/61668/

Nao Minami

July 27, 2017
Tweet

More Decks by Nao Minami

Other Decks in Programming

Transcript

  1. 3VCZ*TTVF5SBDLJOH4ZTUFN w #VH3FQPSU #VH'JY 'FBUVSF1SPQPTBMʹར༻ w #VH 'FBUVSF .JTDͷϥϕϧ w

    QBUDIͳͲ༷ʑͳϑΝΠϧΛఴ෇ w ࣮૷Λ൐͏ఏҊ͸QBUDIͰදݱ w DGIBTIUBCMFͷ಺෦࣮૷ͷมߋ'FBUVSF
  2. 3VCZ*TTVF5SBDLJOH4ZTUFN w ྑ͍఺ w QBUDI BTTJHOͳͲ*TTVF5SBDLJOH4ZTUFNʹඞཁͳ ػೳ͸උ͑ͯΔ w ܽ఺ w

    SFENJOFʹ׳Εͯͳ͍ͱऔͬ෇͖೉͍͔΋ʁ w μ΢ϯϩʔυ͠ͳ͍ͱQBUDI͕ݟΕͳ͍ͷ͸໘౗
  3. 3VCZͷจࣈྻ H e l l o , MFOHUI DBQBDJUZ ”hello,”

    ”hello,” + ”world” => ”Hello,world” lXPSMEzͱ݁߹͢ΔͱจࣈͳͷͰDBQBDJUZͰ͸ ऩ·Βͳ͍ H e l l o , w o r l d Λߟ͑Δ 3VCZͷ4USJOHͷϝϞϦϨΠΞ΢τུ֓
  4. 3VCZͷจࣈྻ H e l l o , H e l

    l o , w o r l d MFOHUI DBQBDJUZ H e l l o , MFOHUI DBQBDJUZ MFOHUI DBQBDJUZ େ͖ͳϝϞϦΛ֬อ͠ɺͦ͜΁ݹ͍஋Λίϐʔ ௥Ճ͞ΕΔlXPSMEzΛॻ͖ࠐΈ
  5. 3VCZͷ4USJOH*OUFSQPMBUJPO [1] pry(main)> world = :world => :world [2] pry(main)>

    "hello, #{world}!" => "hello, world!" ্هͷίʔυ͸ɺ಺෦ͰҎԼͱ౳ՁͳॲཧΛ͞ΕΔ ʢ࣮ࡍʹ͸$Ͱॻ͔ΕͯΔʣ "hello, " + :world.to_s + "!" A Aͷͨͼʹίϐʔ͕૸Δͱ஗͘ͳΔ͕ɺ ͦΕΛආ͚Δͱૣ͘ͳΔʂ