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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
すぎうり
June 09, 2026
Programming
45
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 すぎうり
お前はまだRubyの 型の強さを知らない
uproad3
0
1
Rubyのメソッド解決チェーン
uproad3
0
1
動的型解析器 Ethotrace
uproad3
0
1
UdonRubyの実現可能性について
uproad3
0
17
RubyKaja 2026
uproad3
0
9
VRChatでスライドを 表示する技術
uproad3
0
19
Other Decks in Programming
See All in Programming
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
280
自作OSでスライド発表する
uyuki234
1
3.6k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
180
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
180
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
260
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
340
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
150
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
140
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
A2UI という光を覗いてみる
satohjohn
1
170
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
210
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
11
38k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Agile that works and the tools we love
rasmusluckow
331
22k
Building Adaptive Systems
keathley
44
3.1k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Everyday Curiosity
cassininazir
0
250
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Into the Great Unknown - MozCon
thekraken
41
2.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
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