TokyuRuby会議14 https://tokyurubykaigi.github.io/tokyu14/
Neovim, LSP, RubyTokyuRubyձٞ14OKURA Masafumi, 2023-07-29
View Slide
ࣗݾհ• ໊લɿେխ࢙• ॴଐɿϑϦʔϥϯε• Vimྺɿ10ʢRubyྺͱಉ͡ʂʣ• ͖ͳVimͷίϚϯυɿuʢΞϯυΡʣ
Neovim
TreeSitter
JSONͰఆٛ͞Εͨύʔαʔ
ΑΓྑ͍ϋΠϥΠτͳͲ
Ruby
ඍົʹյΕ͍ͯΔ
additional_vim_regex_highlighting = { "ruby", "vim" }
VimΈࠐΈͷSyntaxΛ༗ޮԽ
Ͱ͖Εͨ͘͠ͳ͍…
ੈ·͞ʹ”େύʔαʔ࣌”* https://yui-knk.hatenablog.com/entry/2023/05/23/191049
TreeSitterͷRubyରԠΛվળͯ͘͠ΕΔਓɺٻΉʂ
1
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
ωϧυϦοϓͰᔸΕΔ࠷ߴͷᘖᘣTokyuRubyձٞ14OKURA Masafumi, 2023-07-29
ࣗݾհ• ໊લɿେխ࢙• ॴଐɿϑϦʔϥϯε• ͖ͳᘖᘣ౾ͷḦΓํɿϑϨϯνϩʔετ• ͖ͳ٤ళɿೣ೬ࣷ
ᘖᘣͷᔸΕํ
ϖʔύʔυϦοϓ• ϝϦοτ• ָʢಛʹܕ͚ย͚ʣ• நग़ํ๏ΛͰ͖Δ• σϝϦοτ• ຯ͕୶ധʹͳΓ͕ͪʢϖʔύʔ͕ΦΠϧΛٵ͏ͷͰʣ• ϑΟϧλʔͷิॆ͕ඞཁ
ϑϨϯνϓϨε• ϝϦοτ• ؆୯ͰᔸΕ͍͢• ΦΠϧ͕๛ͰίΫ͕͋Δ• σϝϦοτ• ث۩ͷআ͕େม• คͬΆ͘ͳΔ• ࡉ͔͍ௐઅۤख
ωϧυϦοϓ• ϝϦοτ• ΦΠϧ͕దʹग़͍ͯΔ• நग़ํ๏ΛͰ͖Δ• σϝϦοτ• ث۩ʢϑΟϧλʔʣͷ͓खೖΕ͕໘
ωϧυϦοϓ͕Ұ൪ඒຯ͍͠ͱࢥ͏
2
ActiveSupportͷInflectorʹ͍ͭͯTokyuRubyձٞ14OKURA Masafumi, 2023-07-29
ࣗݾհ• ໊લɿେխ࢙• ॴଐɿϑϦʔϥϯε• ͖ͳActiveSupportͷΫϥεɿInflector• ਪ͠Railsίϛολʔɿbyroot
Inflector
୯ܗͱෳܗΛมͨ͠Γ͢Δ
camelize
underscore
ٯͷಈ͖Λ͢Δ
ҙ
camelize(underscore('SSLError'))# => "SslError"
3
͝ਗ਼ௌʢུʣ
Kaigi on Rails CFPͷ͓ΒͤTokyuRubyձٞ14OKURA Masafumi, 2023-07-29
ࣗݾհ• ໊લɿେխ࢙• ॴଐɿϑϦʔϥϯε• ՝֎׆ಈɿKaigi on RailsͷӡӦ• ߦͬͯΈ͍ͨΧϯϑΝϨϯεɿEuruko
Kaigi on Rails
Call for Papers(Proposals)
7݄31·Ͱʂ
https://okuramasafumi.hatenablog.jp/entry/2023/07/12/182236
ϓϩϙʔβϧΛ௨͢ςΫχοΫ
1. Ξϐʔϧ͢ΔϙΠϯτΛ໌֬ʹ͢Δ
2. ௌऺΛ໌֬Խ͢Δ
3. ྔΛॻ͘
ຊฤ
10݄27,28
ઙڮώϡʔϦοΫϗʔϧ&ΧϯϑΝϨϯε
4
RubyͰϋϩʔϫʔϧυ͢Δ31൪ͷํ๏TokyuRubyձٞ14OKURA Masafumi, 2023-07-29
ࣗݾհ• ໊લɿେխ࢙• ॴଐɿϑϦʔϥϯε• ͖ͳRubyͷϝιουɿinstance_eval• ͖ͳgemɿAlbaʢࣗ࡞ࣗԋʣ
Ruby30पΠϕϯτ
ʮRubyͰϋϩʔϫʔϧυ͢Δ30ͷํ๏ʯ
31൪ͷํ๏
TokyuRubyձٞ
%W(T H o e k l y l u o R , u \u0020b w y o K r a l i d g !i).select.with_index {|s, i|i.odd? }.join
Hello, world!
TokyuRubyKaigi
5