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
お前はまだRubyの 型システムを知らない
Search
すぎうり
June 09, 2026
Programming
58
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
13
AIコードアポカリプス
uproad3
0
36
負債解消という仕事は儲かる
uproad3
6
4k
RaspberryPi Picoの表現力の拡張 ~アナログコンピュータとの出会い~
uproad3
0
24
お前はまだRubyの 型の強さを知らない
uproad3
0
25
Rubyのメソッド解決チェーン
uproad3
0
18
動的型解析器 Ethotrace
uproad3
0
12
UdonRubyの実現可能性について
uproad3
0
28
RubyKaja 2026
uproad3
0
22
Other Decks in Programming
See All in Programming
VibeCodingからAgenticWorkflowへ
starfish719
0
700
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
160
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
580
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
230
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
490
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
560
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
今さら聞けない .NET CLI
htkym
0
200
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.9k
FDEが実現するAI駆動経営の現在地
gonta
2
290
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
250
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
460
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Producing Creativity
orderedlist
PRO
348
40k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Scaling GitHub
holman
464
140k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
630
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
How GitHub (no longer) Works
holman
316
150k
Deep Space Network (abreviated)
tonyrice
0
260
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
390
Mobile First: as difficult as doing things right
swwweet
225
10k
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