Předmět Autor Datum
Klíčové slovo je takové, které je součástí daného jazyka. Rezervované slovo je takové, které není mo… nový
Wikan 26.05.2019 09:30
Wikan
není ta definice rezervovaného slova divná ? Moc ji nerozumím. K čemu by mi byl název proměnné, když… nový
uterjch malc 26.05.2019 13:53
uterjch malc
Rezervované slovo nemůžeš použít jako název proměnné. Název proměnné není rezervované slovo. Příklad… nový
Wikan 26.05.2019 14:15
Wikan
Priklad je treba slovo Integer. Protoze jde o nazev datoveho typu, nemuzes jej použít jako jméno pro… nový
Jan Fiala 26.05.2019 16:15
Jan Fiala
Myslím, že dobrý príklad bolo rezervované slovo "class" v JavaScripte ešte v čase, keď sa triedy pom… poslední
moose 26.05.2019 19:03
moose
Klíčové slovo je součást jazyka a překladač/interpret ho bere předem definovaným způsobem: napříkla… nový
gilhad 26.05.2019 15:45
gilhad
rezervované su takmer podmnozinou klíčových s výnimkou makier. Klíčové sú už definované jazykom Reze… nový
Mlocik97 26.05.2019 16:50
Mlocik97

Klíčové slovo je takové, které je součástí daného jazyka. Rezervované slovo je takové, které není možné použít (např. jako název proměnné). V některých jazycích mohou být obě množiny klidně totožné či téměř totožné.

není ta definice rezervovaného slova divná ? Moc ji nerozumím. K čemu by mi byl název proměnné, když ho nemůžu použít. Když použiji název proměnné někde( chci něco sečíst), tak se z něj stává rezervované.

Je tedy nějaký příklad rezervovaného slova ?
Je tedy nějaký příklad rezervovaného slova , které je klíčové?
Je tedy nějaký příklad rezervovaného slova , které není klíčové?

Klíčové slovo je součást jazyka a překladač/interpret ho bere předem definovaným způsobem:

například když narazí na if tak vůbec nezkoumá, zda by to nemohla být proměnná, funkce, nebo cosi jiného a bere to jako podmíněný příkaz, se zadrátovanou syntaxí. Pokud je trochu rozumný, tak pokus o deklarování proměnné, či funkce s názvem if bez přemýšlení označí za syntaktickou chybu a odmítne se zabývat jiným možným významem.

Rezervované slovo není přímo součást jazyka jako syntaxe, ale autoři si vyhradili, že toto slovo bude znamenat tuto věc - většinou jde o standardní knihovny, proměnné, konstanty a tak, které se používají takřka všude a použít to jméno v jiném významu by vedlo jednak ke zmatení a jednak k mnohým problémům, protože i autoři jiných knihoven spoléhají na to, že znamená to, co znamená. Když na něj překladač narazí, tak je to pro něj jen další proměnná/konstanta/funkce/modul a podle toho se k nim chová (nemají pro něj zvláštní význam).

Například true a false jsou definovány ve standardní knihovně jako konstanty a ačkoli to technicky udělat lze, tak by se jejich hodnoty, natož významy, rozhodně neměly měnit, jinak se pravděpodobně rozsype skoro všechno.

Naopak pokud si v nějaké svojí funkci zadefinuješ proměnnou DataOk jako logickou, tak ti překladač ohlídá, že v té samé funkci do ní nepřiřadíš třeba řetězec, nebo ji nezadefinuješ ještě jednou ve stejném scopu (protože to by byla chyba). Ale v jiné funkci si ji klidně můžeš zadefinovat jako celočíselnou a počítat si do ní počet správných vzorků a ve třetí funkci to klidně může být řetězec, který se má vypsat v případě úspěchu. Z hlediska překladače jde o tři naprosto různé proměnné, které nemají nic společného a ve čtvrté funkci nemusí taková proměnná být vůbec. Zde nejde o klíčové ani rezervované slovo.

rezervované su takmer podmnozinou klíčových s výnimkou makier. Klíčové sú už definované jazykom Rezervovane ale navyse nemôžeš predefinovat. Ovšem ak je nejake slovo klíčové ale není rezervované ako napr. true/false/nil v Golangu. Môžeš urobiť niečo takéto :


package main
 
import "fmt"
 
func main() {
        fmt.Println(true)
        fmt.Println(false)
 
        x := true
        true := false
        false := x
 
        fmt.Println("oh no...")
 
        fmt.Println(true)
        fmt.Println(false)
}

kód je platný a skompilovatelny... potom true je false a false je true. Ak by bol true/false rezervovaný, toto by nebopo možné.

Zpět do poradny Odpovědět na původní otázku Nahoru