Ahoj.
Píšem jeden tutoriál a narazil som na problém ako nazvať Boolean výraz premenna = !premenna
Ide o to, že v škole nás vyučujúci učil, že sa to volá návratová hodnota negácie a teraz po niekoľkých rokoch som sa znovu nad tým zamyslel a nedáva mi ten názov zmysel. Preto by som sa Vás chcel opýtať, ak viete ako sa to správne nazýva?
Ďakujem.
Sprány názov výrazu a = !a
Re: Sprány názov výrazu a = !a
Nazdar. No podla mna to celkom aj zmysel dava, kedze ty sledujes prave tu navratovu hodnotu. Vid napriklad toto:
Jednoducho, nie je sa nutne starat ake hodnoty obsahuju premenne pri porovnavani(resp. to nie je priorita alebo celkovy vyznam tejto casti kodu), ide o to, ci sa vykona jedna vetva alebo druha. A to vsetko sa daje na zaklade navratovej hodnoty z toho porovania.
Alebo jednoduchsie, co sa vykonava? Je to negacia. A co sledujeme? Jej navratovu hodnotu.
Kód: Vybrať všetko
#! /bin/bash
# BASH_VERSINFO=4
if [[ $BASH_VERSINFO != 3 ]]
then
echo "Nerovnaju sa, navratova hodnota je $?" # $? je 0 (true) , ak $BASH_VERSION je cokolvek ine ako 3
else
echo "Rovnaju sa, navratova hodnota je $?" # $? je 1 (false), ak $BASH_VERSION je 3
fiAlebo jednoduchsie, co sa vykonava? Je to negacia. A co sledujeme? Jej navratovu hodnotu.
-
weroro
Flash coder
- Príspevky: 3206
- Registrovaný: 14 feb 2009, 22:34
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Sprány názov výrazu a = !a
Dík za reakciu 
Mne to tam nesedelo preto, lebo ak použijem zápis:
tak ja neočakávam iba návrat false ale ak je hodnota=false, tak mi to vráti true ak je hodnota=true, tak mi to vráti false. To mi na tom nedávalo zmysel, že prečo sa to volá práve návratová hodnota NEGÁCIE, keď to nevracia iba false, ale aj true.
Ďakujem
Mne to tam nesedelo preto, lebo ak použijem zápis:
Kód: Vybrať všetko
var hodnota:Boolean = true;
function akcia():Void{
if (!hodnota){
vykonaj akciu
}else{
vykonaj akciu
}
hodnota = !hodnota;
return hodnota;
};Ďakujem
Re: Sprány názov výrazu a = !a
To, co som ti postol predtym, tak nie je uplne totozne s tebou, ale ma to niektore spolocne znaky. Kazdopadne, pokial negujes true, tak je vysledok false a pokial negujes false, tak vysledok je true. Negacia a hodnota premennej hodnota nema nic spolocne, aj ked to evokuje nieco negativne, teda false. Vlastne na zaklade toho sa vykona niektora z vetiev. Nejde ani o to, aka hodnota je pre premennu hodnota nastavena, je len jasne, ze na zaklade jej znegovanej hodnoty sa vykona akcia. Akokolvek sa nastavi, vzdy sa vykona vetva pre znegovanu hodnotu. A to moze byt tak true ako aj false !