Ühiktüüp

Allikas: Vikipeedia

Ühiktüüp on tüübiteoorias tüüp, millel saab olla ainult üks väärtus (ning seega ei saa see kanda informatsiooni).[1] Kandja (ühiktüübiga seotud hulk) saab olla mistahes ühe elemendiga hulk. Seda laadi hulkade vahel eksisteerib isomorfism ning seetõttu räägitakse ühiktüübist kui tüübist, ning selle väärtuse üksikasju ei peeta tähtsaks. Ühiktüüpi saab lugeda ka 0-ennikuks (või 0-järjendiks).

Ühiktüüp on tüüpide ja tüübitud funktsioonide kategooria lõppobjekt. Seda ei tohi segamini ajada tühja tüübiga, mis ei luba ühtegi väärtust ning on selle kategooria algusobjekt. Sarnaselt on tõeväärtus (ehk Boolean) tüüp kahe väärtusega.

Ühiktüüp on saadaval enamikes funktsionaalsetes programmeerimiskeeltes. Tüüp void on kasutusel paljudes üldlevinud programmeerimiskeeltes, muuhulgas C, C++ ja Java keeltes, aga kuna selle kandjahulk on tühi, on sellel tüübil teatud piirangud.

Programmeerimiskeeltes[muuda | muuda lähteteksti]

Paljud programmeerimiskeeled pakuvad ühiktüüpi, et määrata tagastustüüp funktsioonidel, mille ainus eesmärk on tekitada kõrvalmõjusid. Funktsionaalsetes keeltes kasutatakse seda funktsiooni ka parameetrina, kui funktsioon ei võta väärtusena ühtegi parameetrit.

  • Haskellis ja Rustis on ühiktüüp () ja tema ainus väärtus on samuti (), mis viitab 0-enniku definitsioonile.
  • ML-i keeles ja tema järglastes (sealhulgas OCaml, Standard ML ja F#) on tüübi nimi unit, aga väärtus on ().
  • Common Lispi keeles on tüübi nimi NULL ja tal on vaid üks väärtus nimega NIL.
  • Pythoni keeles on tüüp NoneType, millel on üks väärtus None.
  • Javas on tüüp Void ja selle ainus väärtus on null.
  • JavaScriptis on tüüp Null väärtusega null ja tüüp Undefined väärtusega undefined.
  • C++is lisati C++17-ga tüüp std::monostate. Enne seda oli võimalik defineerida ühiktüüp ise, näiteks struct empty{}.

Viited[muuda | muuda lähteteksti]

  1. Vene, Varmo; Apinis, Kalmer (2022). "Tüübisüsteemid" (PDF). Tartu Ülikool. Vaadatud 8. detsember 2023.

Välislingid[muuda | muuda lähteteksti]