Typová inference
![ikona](http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Question_book-new.svg/48px-Question_book-new.svg.png)
Typová inference nebo odvozování typu je vlastnost některých programovacích jazyků, která umožňuje nedeklarovat typ proměnné, pokud jej lze odvodit (rekonstruovat) ze zbývajících informací a pravidel zápisu.
Staticky typované jazyky vyžadují, aby typ hodnoty byl předem definován. V některých programovacích jazycích je třeba datový typ výslovně deklarovat, což je pro vývojáře nepohodlné. V mnoha případech je možné typ automaticky odvodit. Například v následujícím kódu:
var msg: String = "Hello, world!";
je jasné, jakého typu proměnná msg je. Scala, jako příklad jazyka majícího tuto schopnost, tedy v tomto případě typ nevyžaduje:
var msg = "Hello, world!";
Naopak, jsou situace, kdy je třeba typ explicitně uvést, protože by jinak došlo k nejednoznačnosti, se kterou by si kompilátor nedovedl poradit.
A nebo, jsou situace, kdy je třeba typ explicitně uvést, protože by kompilátor zvolil jiný, například příliš obecný, nebo příliš konkrétní, který vývojáři nevyhovuje.
V jazycích s generickým typovým systémem lze odvozovat také typové parametry.[1]
Jazyky podporující typovou inferenci
- Scala
- Haskell
- C++
- D
- Java
- Python
- Rust
- Visual Basic
Reference
V tomto článku byl použit překlad textu z článku Typinferenz na německé Wikipedii.
- ↑ Algoritmus pro inferenci typových parametrů [1]