Co znamená zkratka...? – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Co znamená zkratka...? – .NET – Fórum – Programujte.comCo znamená zkratka...? – .NET – Fórum – Programujte.com

 

Montezo
~ Anonymní uživatel
188 příspěvků
14. 12. 2021   #1
-
0
-

zprava += znak;

to znamená 

zprava + zprava = znak;   ?

Nahlásit jako SPAM
IP: 178.255.168.–
Mutagen
~ Anonymní uživatel
549 příspěvků
14. 12. 2021   #2
-
0
-

#1 Montezo
A co třeba si to vyzkoušet? Zabere ti to asi tak 1minutu.

Nahlásit jako SPAM
IP: 185.138.71.–
Montezo
~ Anonymní uživatel
188 příspěvků
14. 12. 2021   #3
-
0
-

No, podle knihy je "zprava += znak"

ve významu "zprava = zprava + znak" 

Ale říkal jsem si, zda to není překlep, když ten zkrácený zápis je vlastně obráceně, protože "zprava = zprava + znak" bych pokrátil na "zprava =+ znak"... 

Nahlásit jako SPAM
IP: 178.255.168.–
Mutagen
~ Anonymní uživatel
549 příspěvků
14. 12. 2021   #4
-
0
-

#3 Montezo
No a to je takovej problém si to vyzkoušet?

A vůbec nechápu proč zrovna do toho pleteš to jak bys to udělal ty, je to prostě syntaxe, ale pokud pořád v takových věcech pochybuješ, asi bys měl začít tím.

Nahlásit jako SPAM
IP: 185.138.71.–
Montezo
~ Anonymní uživatel
188 příspěvků
14. 12. 2021   #5
-
0
-

mutagen: já nepochybuji, jen mám obavu, zda nejde o překlep. A navíc, když se zeptám na to, proč to tak je, tak si říkám, zda někdo není seznámen s původem tohoto způsobu syntaxe, a nepodělí se o tuto informaci. 

Nahlásit jako SPAM
IP: 178.255.168.–
14. 12. 2021   #6
-
0
-

Pokud si nejsem jistý syntaxí, hledám jak pravidla fungují. V případě +=  se jedná o operátory. Tak do Google dám "C# operátory" nebo anglicky operators a nechám si najít. Najdeš třeba https://docs.microsoft.com/cs-cz/dotnet/csharp/language-reference/operators/  a postupně se proklikáš ke sčítání a odčítání a nakonec na stránce narazíš na Složené přiřazení". Někdy je potřeba projít více výsledků vyhledávání, jindy změnit klíčová slova pro vyhledávání. Jsem si myslel, že gůůglit umí malý děcko ...

Druhý postup je "pokus omyl". Prostě to zkusím a když překladač napíše "Syntax error" tak je to špatně.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
BDS+3
Věrný člen
14. 12. 2021   #7
-
0
-

#1 Montezo

Pokud ten výklad v knize nechápal obyčejný člověk, tak by to nejdřív zkusil, než ze sebe bude dělat šaška na diskuzích.
int i = 8, j=2;
pokud napíšeš i=+j; tak překladač napíše, že je to blbě! >> TEKHLE NE!

pokud napíšeš i+=j; tak ti to vezme, ty testem zjistíš, že i je 10; >> TAKHLE JE TO OK! ZAPAMATUJU SI, ŽE SE TO DĚLÁ TAKTO.
Funguje to stejně jako když napíšeš i = i + j; jen je to kratší.

Nahlásit jako SPAM
IP: 94.113.253.–
W11 :)
Montezo
~ Anonymní uživatel
188 příspěvků
14. 12. 2021   #8
-
0
-

Jo, já číst umí, ale logičtější by bylo " i = i + j" zkrátit na "i = + j" pokud by princip onoho zjednodušení vyplíval z faktu, že jen vynecháš to i, aby sis ušetřil jeden znak.

Ačkoliv, když nad tím tak dumám, tak je to myšlený - to " i += j" - tak, že případ "i = +j" by si mohl kompiler chybně vyložit jako snaho do proměnné "i" přiřadit "+j" ... když udělám i += j, je ihned i kompileru jasné, že NEJDE o snahu do proměnné i cokoliv vecpat...   

Nahlásit jako SPAM
IP: 178.255.168.–
BDS+3
Věrný člen
14. 12. 2021   #9
-
0
-

#8 Montezo
Už jsem ti to jednou psal, programovat ještě neumíš a už by jsi chtěl vyvíjet programovací jazyk. Respektive pořád řešíš, že programovací jazyk je špatně napsaný.
Někdo to vymyslel tak jak to je, a nejspíš k tomu měl důvod (nevím ve které prog. jazyce se to objevilo poprvé, ale tohle se používalo dřív, než ses narodil). (Nejspíš je to proto, že mínus za rovnítkem může upravovat polaritu následující hodnoty.)

Tak se tím řiď, nebo si napiš vlastní programovací jazyk, ve kterém to dáš obráceně.

Nahlásit jako SPAM
IP: 94.113.253.–
W11 :)
14. 12. 2021   #10
-
+1
-
Zajímavé
BDS +

Může to být způsob jak předejít chybě. Dejme tomu, že bych chtěl napsat a=i+j; a že dělám překlepy často, napsal bych a=+j; Kdyby byl operátor definován podle tvojí logiky, bylo by to syntakticky správně, ale chovalo by se to jinak, než chci a já bych dlouze hledal, kde je chyba. Pokud je operátor definován tak jak je, zápis a=+j; je syntakticky špatně, překladač napíše chybu včetně čísla řádku, kde je. Hledání a oprava chyby pak nedá moc práce.

Další důvod může být problém při zpracování a += ++i; překladačem. Nakupení + by mohlo být problém vyhodnoti. Měj na paměti, že tyhle věci vznikaly v době, kdy počítač měl systémové prostředky a výkon menší než tvůj chytrý telefon a překladače taky nebyly tak sofistikované (umělá inteligence byla spíš sci-fi). Programátoři očekávají, že tyhle starý osvědčený věci budou fungovat a tak nikoho nenapadlo to u novějších verzí jazyka měnit. Novější jazyky to pak často přebírají aby se programátoři nemuseli přeučit a neměli v tom chaos.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 57 hostů

Podobná vlákna

Co znamená zkratka adt — založil vigum

Zkratka NNV ve working schema — založil shockwave

... co pak to znamená ... — založil KOudis

Co znamená return 8? — založil vanasi

Co znamená ICT koordinátor? — založil da11niel

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý