Upgrade to Pro — share decks privately, control downloads, hide ads and more …

お前はまだRubyの 型システムを知らない

お前はまだRubyの 型システムを知らない

Avatar for すぎうり

すぎうり

June 09, 2026

More Decks by すぎうり

Other Decks in Programming

Transcript

  1. 自己紹介 すぎうり • Twitter:@uproad3 • Ruby歴20年 • VRChat歴7年 • 仕事:Rails |

    AWS | LT芸人 • 趣味:アーキテクト | リファクタリング | ゲーム制作 | 電子工作 • 言語:Ruby | C# | C | JS | ほかいろいろ • 技術:Terraform | Unity | Ubuntu | MySQL | RaspberryPi • 悲しきフルスタックエンジニア • 最近はClaudeをシバきまわしている • RubyKaja 2026特別賞受賞 • LTをしてくる人賞受賞 • 特に型に強い思い入れがあるわけではない
  2. 自己紹介 すぎうり • Twitter:@uproad3 • Ruby歴20年 • VRChat歴7年 • 仕事:Rails |

    AWS | LT芸人 • 趣味:アーキテクト | リファクタリング | ゲーム制作 | 電子工作 • 言語:Ruby | C# | C | JS | ほかいろいろ • 技術:Terraform | Unity | Ubuntu | MySQL | RaspberryPi • 悲しきフルスタックエンジニア • 最近はClaudeをシバきまわしている • RubyKaja 2026特別賞受賞 • LTをしてくる人賞受賞 • 特に型に強い思い入れがあるわけではない
  3. 自己紹介 すぎうり • Twitter:@uproad3 • Ruby歴20年 • VRChat歴7年 • 仕事:Rails |

    AWS | LT芸人 • 趣味:アーキテクト | リファクタリング | ゲーム制作 | 電子工作 • 言語:Ruby | C# | C | JS | ほかいろいろ • 技術:Terraform | Unity | Ubuntu | MySQL | RaspberryPi • 悲しきフルスタックエンジニア • 最近はClaudeをシバきまわしている • RubyKaja 2026特別賞受賞 • LTをしてくる人賞受賞 • 特に型に強い思い入れがあるわけではない
  4. Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •

    動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
  5. Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •

    動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
  6. Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •

    動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
  7. Rubyの型システム      型検査:動的      型強度:強い  ※暗黙的型変換をしない      型互換:構造的 ※ == ダックタイピング的 ⇔ 宣言的 / 継承的

         型変性:あり  ※オープンクラスやメソッド再定義など ポリモーフィック:あり  ※ダックタイピングによって解決   実行時型表現:あり  ※ Class#nameなど      型注釈:なし      型推論:なし  ※外部システムにより提供     
  8. Rubyの型システム      型検査:動的      型強度:強い  ※暗黙的型変換をしない      型互換:構造的 ※ == ダックタイピング的 ⇔ 宣言的 / 継承的

         型変性:あり  ※オープンクラスやメソッド再定義など ポリモーフィック:あり  ※ダックタイピングによって解決   実行時型表現:あり  ※ Class#nameなど      型注釈:なし      型推論:なし  ※外部システムにより提供     
  9. Rubyの型システム      型検査:動的      型強度:強い  ※暗黙的型変換をしない      型互換:構造的 ※ == ダックタイピング的 ⇔ 宣言的 / 継承的

         型変性:あり  ※オープンクラスやメソッド再定義など ポリモーフィック:あり  ※ダックタイピングによって解決   実行時型表現:あり  ※ Class#nameなど      型注釈:なし      型推論:なし  ※外部システムにより提供     
  10. Rubyの型システム      型検査:動的      型強度:強い  ※暗黙的型変換をしない      型互換:構造的 ※== ダックタイピング的 ⇔ 宣言的 / 継承的      型変性:あり  ※オープンクラスやメソッド再定義など

    ポリモーフィック:あり   ※ダックタイピングによって解決   実行時型表現:あり  ※Class#nameなど      型注釈:なし      型推論:なし  ※外部システムにより提供     
  11. Rubyの特徴 • 書いていて楽しい • スクリプト言語 • 純粋オブジェクト指向 • 書いていて楽しい •

    動的型付け • ダックタイピング • 書いていて楽しい • 暗黙的型変換の禁止 • Mix-in • 実行時クラス再オープン • 書いていて楽しい
  12. Rubyの型システム      型検査:動的      型強度:強い  ※暗黙的型変換をしない      型互換:構造的 ※== ダックタイピング的 ⇔ 宣言的 / 継承的      型変性:あり  ※オープンクラスやメソッド再定義など

    ポリモーフィック:あり   ※ダックタイピングによって解決   実行時型表現:あり  ※Class#nameなど      型注釈:なし      型推論:なし  ※外部システムにより提供