Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
たのしいString
Search
ima1zumi
February 25, 2023
1
550
たのしいString
ima1zumi
February 25, 2023
Tweet
Share
More Decks by ima1zumi
See All by ima1zumi
Exploring Reline: Enhancing Command Line Usability
ima1zumi
0
52
10年物のRailsアプリにキャッチアップ!〜コードを読まずに理解したかった〜
ima1zumi
0
64
RubyKaigiの登壇者一覧ページを作った
ima1zumi
0
270
Relineのその後の生活
ima1zumi
0
190
IRB and Reline Kaigi 2024
ima1zumi
0
7
Exploring Reline: Enhancing Command Line Usability
ima1zumi
3
14k
Reline 1分 Cooking
ima1zumi
0
25
続・mruby/cにUTF-8 を実装する
ima1zumi
1
23
UTF-8 is coming to mruby/c
ima1zumi
4
5.3k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1368
200k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Gamification - CAS2011
davidbonilla
80
5.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Bash Introduction
62gerente
611
210k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Transcript
ͨͷ͍͠String ϓϩάϥϛϯάݴޠRuby30पه೦Πϕϯτ 2023-02-25 ima1zumi
Introduction - @ima1zumi (Mari Imaizumi) - ӬγεςϜϚωδϝϯτॴଐ - IRB and
Reline committer - จࣈͱจࣈίʔυ͕͖
Powered by
Ruby30प͓ΊͰͱ͏͍͟͝·͢🎉
Rubyͷָ͍͠ͱ͜Ζ
String & Encoding
ࠓ͔Β͑Δ จࣈͱจࣈίʔυૢ࡞ 3બ
ᶃ ɺόΠτྻ͔Βจࣈʹ͢
ɺόΠτྻ͔Βจࣈʹ͢ • Integer#chr • Array#pack • String#force_encoding
Integer#chr(encoding) • ίʔυϙΠϯτΛจࣈͱͯ͠ղऍ • Ҿͳ͠ͷ߹US-ASCIIɺASCII-8BITɺEncoding.default_internalͷ ॱͰղऍ
Array#pack • ྻͷ༰ΛҾʹैͬͯύοΫ • "U*" Unicode codepointΛUTF-8ͱͯ͠ղऍͯ͠ฦ͢
String#force_encoding • จࣈίʔυͷΈΛมߋ͠ɺόΠτྻมߋ͠ͳ͍ • ͜͜ͰόΠφϦ(ASCII_8BIT)ͷจࣈίʔυΛUTF-8ʹมߋ
ᶄจࣈԽ͚Λ࡞Δ
จࣈԽ͚Λ࡞Δ • String#force_encoding • String#encode
จࣈԽ͚Λ࡞Δ
จࣈԽ͚Λ࡞Δ
จࣈԽ͚Λ࡞Δ
https://github.com/integrations/slack/issues/1416
ããã«ã¡ã¯ä¸ç ͜Μʹͪੈք
None
None
None
None
None
ããã«ã¡ã¯ä¸ç ͜Μʹͪੈք
ᶅจࣈίʔυΛRubyͰRubyʹՃ
จࣈίʔυΛՃ͢Δ • Encoding#replicate • ҙޙड़
Δ͜ͱ • 1. ࡞Γ͍ͨEncodingͷܗʹͳΔEncodingΛܾΊΔ • 2. Encoding#replicate͢Δ • 3. มϩδοΫΛॻ͘
จࣈίʔυΛఆٛ͢Δ
มϩδοΫΛॻ͘
https://github.com/ima1zumi/ruby_encoding_iroha
Remove Encoding#replicate Ruby 3.3
None
None
Welcome to faster Encodings