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
69
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
25
AIコードアポカリプス
uproad3
0
48
負債解消という仕事は儲かる
uproad3
6
4.2k
RaspberryPi Picoの表現力の拡張 ~アナログコンピュータとの出会い~
uproad3
0
37
お前はまだRubyの 型の強さを知らない
uproad3
0
32
Rubyのメソッド解決チェーン
uproad3
0
26
動的型解析器 Ethotrace
uproad3
0
18
UdonRubyの実現可能性について
uproad3
0
34
RubyKaja 2026
uproad3
0
33
Other Decks in Programming
See All in Programming
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
470
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
110
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.8k
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
410
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
120
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
1.1k
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
150
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
660
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
3
520
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.3k
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
290
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
470
My Coaching Mixtape
mlcsv
0
310
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
WENDY [Excerpt]
tessaabrams
12
39k
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