Sprány názov výrazu a = !a

Programovacie jazyky, rady, poradňa...
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Sprány názov výrazu a = !a

Príspevok od používateľa weroro »

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.
pato83
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3916
Registrovaný: 21 nov 2005, 22:12

Re: Sprány názov výrazu a = !a

Príspevok od používateľa pato83 »

Nazdar. No podla mna to celkom aj zmysel dava, kedze ty sledujes prave tu navratovu hodnotu. Vid napriklad toto:

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
fi
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. :)
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Sprány názov výrazu a = !a

Príspevok od používateľa weroro »

Dík za reakciu :)
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;
};
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
pato83
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3916
Registrovaný: 21 nov 2005, 22:12

Re: Sprány názov výrazu a = !a

Príspevok od používateľa pato83 »

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 !
Napísať odpoveď