Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
VRChat.rb_11_メタプログラミングRubyのご紹介.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ItoJum
September 15, 2026
31
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VRChat.rb_11_メタプログラミングRubyのご紹介.pdf
ItoJum
September 15, 2026
More Decks by ItoJum
See All by ItoJum
従業員データ基盤でのパターンマッチをご紹介_Roppongi.rb スポンサーLT
itojum
0
76
DXRuby互換のPicoRuby.wasmライブラリを作っている
itojum
1
64
RubyKaigi_2026_follow_up_SmartHRスポンサーLT
itojum
0
330
サマーインターンシップのメン ターをやって得た学び5選_あつまれ!若⼿エンジニアのLT&ゆるっと交流会
itojum
0
420
SmartHRを支える従業員データ基盤とそのインフラ_Innovative Crosstalk Jamboree Geeks '26
itojum
0
510
VRChat.rbの野望.pdf
itojum
0
27
なぜtree-sitter-rubyの日本語シンボルはシンタックスハイライトされないのか
itojum
0
110
Ractorを試してみるぞ!+メタバースにおける地域.rbをやっているぜ
itojum
0
66
新卒一年目のコミュニティ駆動ライフ_新卒N年目のLT交流会.pdf
itojum
0
150
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
910
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
580
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
New Earth Scene 8
popppiees
4
2.7k
Transcript
1
メタプログラミングRubyのご 紹介 VRChat.rb #11 いとじゅん
読み切ったので紹介した いよ 3
書籍 魔術書 [メタプログラミングRuby 第2版 - O'Reilly Japan]( https://www.oreilly.co.jp/books/9784873117430/ ) 4
メタプログラミングとは プログラムを生成するプログラミ ングみたいな 5
メタプログラミングとは プログラムを生成するプログラミ ングみたいな = 魔術 6
好きな魔術を紹介したい 7
オープンクラス 既存のクラスやモジュールを 再オープンして、メソッド追加・ 編集したりできる!! class String def hello "#{self}っほー!" end
end p "かぐや".hello # => かぐやっほー! 8
Module#define_method 実行時にメソッドを動的に定 義できる スコープゲートを突破できる class CPK GREETINGS = { :kaguya
=> "かぐやっほー!", :yachiyo => "ヤオヨロー!" } GREETINGS.each do |key, value| define_method("hello_#{key}") do value end end end p CPK.new.hello_kaguya # => "かぐやっほー" 9
alias_method class String alias_method :original_upcase, :upcase 既存のメソッドに別名を付ける ことができる def upcase
original_upcase + "!" end end 元の処理を退避してみた p "kaguya".upcase # => "KAGUYA!" 10
メタプロRubyの問題集 11
問題集 メタプログラミング 演習編をお手軽に できる https://github.com/kinoppyd/reading-metaprogramming-ruby 12
おわりに 13
メタプログラミングで使うの は、基本アンチパターンなの でやめとこう!!! 14
使いどころを見つけたら、 嬉々として使おう!! 15