Jump to content
  • 0

pomoc Pomoc s programováním


Dave6859

Dotaz

1 odpověd na tuto otázku

Recommended Posts

  • 4

Zdravím, Triadic Operator je operátor s aritou 3. Častejšie používaný výraz je ternary operator.

Operátory môžu mať rôznu aritu (počet operandov). Pár príkladov:

!isPlayerConnected -> unárny operátor ! (jediný operand je premennná isPlayerConnected)

4 + 7 -> binárny operátor + (dva operandy 4 a 7)

Unárnych a binárnych operátorov v programovaní existuje viac. Napríklad ďalší unárny operáror je - vo výraze -42. Príkladom ďalších binárnych operátorov je väčšina aritmetických (+, -, *, /), logických (&&, ||) alebo relačných (>, >=, <, <=, ==, !=) operátorov.

Ternárny však poznáme iba jeden (operátor ?:). Ukážem ho na výraze:

new jailTime = IsPlayerVIP(playerid) ? 300 : 600;

Do premennej jailTime sa uloží hodnota 300 ak je výraz IsPlayerVIP(playerid) pravdivý výraz, inak 600.

Chová sa to rovnako ako nasledovný kód:

new jailTime;

if (IsPlayerVIP(playerid)

{

    jailTime = 300;

}

else

{

    jailTime = 600;

}

Je to teda in-line verzia podmienky v tvare:

výraz ? výsledok-ak-výraz-platí : výsledok-ak-výraz-neplatí

Hodí sa to hlavne v prípade, keď sú výrazy jednoduché a rozpisovanie pomocou podmienky by bolo zbytočne zdĺhavé.

Na záver ešte spomeniem, že ternárne operárory môžu byť aj vnorené, napríklad vo výraze:

new jailTime = IsPlayerAdmin(playerid) ? 0 : IsPlayerVIP(playerid) ? 300 : 600;

Ale v takýchto prípadoch býva zvyčajne lepší nápad prepísať to klasicky pomocou podmienok kvôli oveľa lepšej čitateľnosti kódu.

Edited by DuFF
  • Líbí se mi to! (+1) 3
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...