Slide 1

Slide 1 text

ͨͷ͍͠String ϓϩάϥϛϯάݴޠRuby30प೥ه೦Πϕϯτ 2023-02-25 ima1zumi

Slide 2

Slide 2 text

Introduction - @ima1zumi (Mari Imaizumi) - Ӭ࿨γεςϜϚωδϝϯτॴଐ - IRB and Reline committer - จࣈͱจࣈίʔυ͕޷͖

Slide 3

Slide 3 text

Powered by

Slide 4

Slide 4 text

Ruby30प೥͓ΊͰͱ͏͍͟͝·͢🎉

Slide 5

Slide 5 text

Rubyͷָ͍͠ͱ͜Ζ

Slide 6

Slide 6 text

String & Encoding

Slide 7

Slide 7 text

ࠓ೔͔Β࢖͑Δ จࣈͱจࣈίʔυૢ࡞ 3બ

Slide 8

Slide 8 text

ᶃ ਺஋ɺόΠτྻ͔Βจࣈʹ௚͢

Slide 9

Slide 9 text

਺஋ɺόΠτྻ͔Βจࣈʹ௚͢ • Integer#chr • Array#pack • String#force_encoding

Slide 10

Slide 10 text

Integer#chr(encoding) • ίʔυϙΠϯτΛจࣈͱͯ͠ղऍ • Ҿ਺ͳ͠ͷ৔߹US-ASCIIɺASCII-8BITɺEncoding.default_internalͷ ॱͰղऍ

Slide 11

Slide 11 text

Array#pack • ഑ྻͷ಺༰ΛҾ਺ʹैͬͯύοΫ • "U*" ͸Unicode codepointΛUTF-8ͱͯ͠ղऍͯ͠ฦ͢

Slide 12

Slide 12 text

String#force_encoding • จࣈίʔυͷΈΛมߋ͠ɺόΠτྻ͸มߋ͠ͳ͍ • ͜͜Ͱ͸όΠφϦ(ASCII_8BIT)ͷจࣈίʔυΛUTF-8ʹมߋ

Slide 13

Slide 13 text

ᶄจࣈԽ͚Λ࡞Δ

Slide 14

Slide 14 text

จࣈԽ͚Λ࡞Δ • String#force_encoding • String#encode

Slide 15

Slide 15 text

จࣈԽ͚Λ࡞Δ

Slide 16

Slide 16 text

จࣈԽ͚Λ࡞Δ

Slide 17

Slide 17 text

จࣈԽ͚Λ࡞Δ

Slide 18

Slide 18 text

https://github.com/integrations/slack/issues/1416

Slide 19

Slide 19 text

ããã«ã¡ã¯ä¸ç ͜Μʹͪ͸ੈք

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

ããã«ã¡ã¯ä¸ç ͜Μʹͪ͸ੈք

Slide 26

Slide 26 text

ᶅจࣈίʔυΛRubyͰRubyʹ௥Ճ

Slide 27

Slide 27 text

จࣈίʔυΛ௥Ճ͢Δ • Encoding#replicate • ஫ҙ఺͸ޙड़

Slide 28

Slide 28 text

΍Δ͜ͱ • 1. ࡞Γ͍ͨEncodingͷ਽ܗʹͳΔEncodingΛܾΊΔ • 2. Encoding#replicate͢Δ • 3. ม׵ϩδοΫΛॻ͘

Slide 29

Slide 29 text

จࣈίʔυΛఆٛ͢Δ

Slide 30

Slide 30 text

ม׵ϩδοΫΛॻ͘

Slide 31

Slide 31 text

https://github.com/ima1zumi/ruby_encoding_iroha

Slide 32

Slide 32 text

Remove Encoding#replicate Ruby 3.3

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Welcome to faster Encodings