Dave6859 8 Odesláno: 1. Prosinec, 2022 Share Odesláno: 1. Prosinec, 2022 Zdravím, právě jsem narazil na něco (v Pawnu), pojmenovaného jako: Triadic Operator, pročítám sampwiki, ale nemohu najít co to znamená Něvěděl by někdo co to je? Link to comment Share on other sites More sharing options...
4 DuFF 81 Odesláno: 2. Prosinec, 2022 Share Odesláno: 2. Prosinec, 2022 (upraveno) 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 2. Prosinec, 2022 by DuFF 3 Link to comment Share on other sites More sharing options...
Dotaz
Dave6859 8
Zdravím, právě jsem narazil na něco (v Pawnu), pojmenovaného jako: Triadic Operator, pročítám sampwiki, ale nemohu najít co to znamená
Něvěděl by někdo co to je?
Link to comment
Share on other sites
1 odpověd na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now