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
お前はまだRubyの 型システムを知らない
Search
すぎうり
June 09, 2026
Programming
97
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
お前はまだRubyの 型システムを知らない
すぎうり
June 09, 2026
More Decks by すぎうり
See All by すぎうり
BareRuby ~組み込み向けRubyAOTコンパイラ~
uproad3
0
28
AIコードアポカリプス
uproad3
0
52
負債解消という仕事は儲かる
uproad3
6
4.4k
RaspberryPi Picoの表現力の拡張 ~アナログコンピュータとの出会い~
uproad3
0
46
お前はまだRubyの 型の強さを知らない
uproad3
0
36
Rubyのメソッド解決チェーン
uproad3
0
28
動的型解析器 Ethotrace
uproad3
0
21
UdonRubyの実現可能性について
uproad3
0
41
RubyKaja 2026
uproad3
0
35
Other Decks in Programming
See All in Programming
カツオ、ご期待ください
suneo3476
0
130
AWSに止められる覚悟してますか?
morizo_1984
2
490
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
0
220
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
470
速習iPhone Duo対応
yuukiw00w
2
930
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
110
iOSDCのペンライトを自動制御したい!
akkeylab
0
340
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
140
Java 27新機能 / Java 27 new features
kishida
2
190
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
420
mrbgem 三角測量 開発
ogom
0
170
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
180
Featured
See All Featured
Abbi's Birthday
coloredviolet
4
10k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
380
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
720
Thoughts on Productivity
jonyablonski
76
5.4k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
300
Transcript
お前はまだRubyの 型システムを知らない すぎうり
自己紹介 すぎうり • Twitter:@uproad3 • Ruby歴20年 • VRChat歴7年 • 仕事:Rails |
AWS | LT芸人 • 趣味:アーキテクト | リファクタリング | ゲーム制作 | 電子工作 • 言語:Ruby | C# | C | JS | ほかいろいろ • 技術:Terraform | Unity | Ubuntu | MySQL | RaspberryPi • 悲しきフルスタックエンジニア • 最近はClaudeをシバきまわしている • RubyKaja 2026特別賞受賞 • LTをしてくる人賞受賞 • 特に型に強い思い入れがあるわけではない
自己紹介 すぎうり
自己紹介 すぎうり • Twitter:@uproad3 • Ruby歴20年 • VRChat歴7年 • 仕事:Rails |
AWS | LT芸人 • 趣味:アーキテクト | リファクタリング | ゲーム制作 | 電子工作 • 言語:Ruby | C# | C | JS | ほかいろいろ • 技術:Terraform | Unity | Ubuntu | MySQL | RaspberryPi • 悲しきフルスタックエンジニア • 最近はClaudeをシバきまわしている • RubyKaja 2026特別賞受賞 • LTをしてくる人賞受賞 • 特に型に強い思い入れがあるわけではない
自己紹介 すぎうり
自己紹介 すぎうり • Twitter:@uproad3 • Ruby歴20年 • VRChat歴7年 • 仕事:Rails |
AWS | LT芸人 • 趣味:アーキテクト | リファクタリング | ゲーム制作 | 電子工作 • 言語:Ruby | C# | C | JS | ほかいろいろ • 技術:Terraform | Unity | Ubuntu | MySQL | RaspberryPi • 悲しきフルスタックエンジニア • 最近はClaudeをシバきまわしている • RubyKaja 2026特別賞受賞 • LTをしてくる人賞受賞 • 特に型に強い思い入れがあるわけではない
Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •
動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •
動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •
動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
「Rubyには型がない」
「Rubyには型注釈がない」
Rubyの型システム 型検査:動的 型強度:強い ※暗黙的型変換をしない 型互換:構造的 ※ == ダックタイピング的 ⇔ 宣言的 / 継承的
型変性:あり ※オープンクラスやメソッド再定義など ポリモーフィック:あり ※ダックタイピングによって解決 実行時型表現:あり ※ Class#nameなど 型注釈:なし 型推論:なし ※外部システムにより提供
Rubyの型システム 型検査:動的 型強度:強い ※暗黙的型変換をしない 型互換:構造的 ※ == ダックタイピング的 ⇔ 宣言的 / 継承的
型変性:あり ※オープンクラスやメソッド再定義など ポリモーフィック:あり ※ダックタイピングによって解決 実行時型表現:あり ※ Class#nameなど 型注釈:なし 型推論:なし ※外部システムにより提供
型注釈/型推論 Rubykaigi2019 day1 Matz基調講演 型宣言(型注釈)を入れることについて 「(DRYではないから)Rubyに型(宣言)を取り入れたくない」 「型宣言することはコンピュータに使われているような気になる」 型推論について 「その代わり静的解析を導入し型チェックを行えるようにする」 →RBS
/ Solbet / Typeprof / Steep
Rubyの型システム 型検査:動的 型強度:強い ※暗黙的型変換をしない 型互換:構造的 ※ == ダックタイピング的 ⇔ 宣言的 / 継承的
型変性:あり ※オープンクラスやメソッド再定義など ポリモーフィック:あり ※ダックタイピングによって解決 実行時型表現:あり ※ Class#nameなど 型注釈:なし 型推論:なし ※外部システムにより提供
Rubyの型システム 型検査:動的 型強度:強い ※暗黙的型変換をしない 型互換:構造的 ※== ダックタイピング的 ⇔ 宣言的 / 継承的 型変性:あり ※オープンクラスやメソッド再定義など
ポリモーフィック:あり ※ダックタイピングによって解決 実行時型表現:あり ※Class#nameなど 型注釈:なし 型推論:なし ※外部システムにより提供
Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •
動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
オブジェクト指向とは 型の世界である
Rubyの型システム 型検査:動的 型強度:強い ※暗黙的型変換をしない 型互換:構造的 ※== ダックタイピング的 ⇔ 宣言的 / 継承的 型変性:あり ※オープンクラスやメソッド再定義など
ポリモーフィック:あり ※ダックタイピングによって解決 実行時型表現:あり ※Class#nameなど 型注釈:なし 型推論:なし ※外部システムにより提供
「Rubyには型がない」
「Rubyには型がない」 「うんうん、Rubyには 型(注釈)がないね
「Rubyには型がない」 「うんうん、Rubyには 型(注釈)がないね(冷笑)」
次回: お前はまだRubyの 型の強さを知らない
None