はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ 共変

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 3 / 3件)
 

筒で理解する反変・共変

2024/10/03 このエントリーをはてなブックマークに追加 18 users Instapaper Pocket Tweet Facebook Share Evernote Clip アナロジー Scala TypeScript Java 前提

この記事では、Java、Scala、TypeScriptなど、サブタイピング(subtyping)をサポートする言語であれば間違いなくサポートしているであろう「反変(contravariant)」・「共変(covariant)」について、視覚的なアナロジーを用いつつ解説したいと思います。コード例を含め全てTypeScriptを前提とした説明ですが、同様の... 続きを読む

TypeScript の変性(共変・反変)を 5 分で理解する

2024/02/12 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript 変性

type User = { name: string } type Admin = User & { permissions: string[] } const user: User = { name: "user", } const admin: Admin = { name: "admin", permissions: [], } User は名前だけを持つ型で、Admin は名前と権限を持つ型です。また、それぞれの型の変数も用意しています。 この後のコード例は極力シン... 続きを読む

部分型における変性と極性 - なぜScalaの変性は+や-で指定するのか - 貳佰伍拾陸夜日記

2022/12/19 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip Scala Kotlin Out 発端 貳佰伍拾陸夜日記

この記事はScala Advent Calendar 2022の19日目です. Scalaではジェネリック型の変性(variance)は+や-で指定しますが, 他の言語(たとえば, C#, Kotlin)ではoutやinだったりします. この記事では変性の意味を整理して, なぜScalaでは+/-の記号を使うのか説明します. 発端 こういう話題がありました. Scala は共変が + で... 続きを読む

 
(1 - 3 / 3件)