Ternary Operator | e1 ? e2 : e3

Započeo Osamu Dazai, Avgust 19, 2019, 23:06:03 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

- Ternary Operator -


Å ta je ternary operator?
Ternary operator služi da smanji upotrebu if else chaina (ili ti ga na balkanskom lanca).

Kako se ternary opterator koristi?
[pawn]uslov ? true_value : false_value[/pawn]

Nema potrebe da previše ulazim u detalje, jednostavno ću napisati par primera jer nema previše mozganja.

Kao integer:

SetPlayerSkin:
[pawn]if(pInfo[playerid][pGender] == GENDER_MALE)
   SetPlayerSkin(playerid, 294);

else if(pInfo[playerid][pGender] == GENDER_FEMALE)
   SetPlayerSkin(playerid, 72);[/pawn]

Jako simple kod zar ne?
Pa ovo može još jednostavnije :)

[pawn]SetPlayerSkin(playerid, pInfo[playerid][pGender] == GENDER_MALE ? 294 : 72);[/pawn]

Å ta ovaj operator zapravo ispituje?
Ako je pInfo[playerid][pGender] jednak GENDER_MALE, on ce vratiti 294 jer je uslov true, a ako je varijabla suprotno od GENDER_MALE, ono ce vratiti 72 tj false.

Kao string:

Non-Ternary primer:

[pawn]new pGender[8], string[24];

if(pInfo[playerid][pGender] == GENDER_MALE)
   format(pGender, sizeof(pGender), "MuÅ¡ko");

else if(pInfo[playerid][pGender] == GENDER_FEMALE)
   format(pGender, sizeof(pGender), "Žensko");

format(string, sizeof(string), "Vi ste %s", pGender);[/pawn]

Ternary:

[pawn]new string[24];
format(string, sizeof(string), "Vi ste %s", pInfo[playerid][pGender] == GENDER_MALE ? "Muško" : "Žensko");[/pawn]

NOTICE: U starijoj verziji kompajlera morate koristiti zagrade za uslove tj na primer : (b == 2 ? 3 : 5)
Poslednja Izmena: Avgust 19, 2019, 23:10:39 POSLE PODNE od Osamu Dazai
My tutorials: y_inline & y_dialog, Ternary Operator, y_flooding, y_bit, samp-logger, Pawn Plus I Deo ( Dynamic Strings ), Map Zones, TextDraw Buttons, y_iterate, easyDialog, samp-plugin-timerfix
My includes: TextDraw Buttons


Respect: Bunta, Vedran, Ivan Bagarić, Itz.Yansi, Rade Ćurić (ni ja ne verujem)
Biggest respect goes to: ADRFranklin


Citat: Vodka PlayObožavam te "skriptere" koji probleme rešavaju tako što menjaju mod svaka 2 dana, tako će sigurno naučiti.
Neko im nacrta u temi Å¡ta treba uraditi, al' ne vredi nisu svi za skriptanje.


My tutorials: y_inline & y_dialog, Ternary Operator, y_flooding, y_bit, samp-logger, Pawn Plus I Deo ( Dynamic Strings ), Map Zones, TextDraw Buttons, y_iterate, easyDialog, samp-plugin-timerfix
My includes: TextDraw Buttons


Respect: Bunta, Vedran, Ivan Bagarić, Itz.Yansi, Rade Ćurić (ni ja ne verujem)
Biggest respect goes to: ADRFranklin


Citat: Vodka PlayObožavam te "skriptere" koji probleme rešavaju tako što menjaju mod svaka 2 dana, tako će sigurno naučiti.
Neko im nacrta u temi Å¡ta treba uraditi, al' ne vredi nisu svi za skriptanje.

Doctor ;)
Dobar dobar ;)

One And Only
Old Member
Since AVGUST 2013. :)
GAME OVER - SCRIPTING
SINCE 2009 - 2020

My tutorials: y_inline & y_dialog, Ternary Operator, y_flooding, y_bit, samp-logger, Pawn Plus I Deo ( Dynamic Strings ), Map Zones, TextDraw Buttons, y_iterate, easyDialog, samp-plugin-timerfix
My includes: TextDraw Buttons


Respect: Bunta, Vedran, Ivan Bagarić, Itz.Yansi, Rade Ćurić (ni ja ne verujem)
Biggest respect goes to: ADRFranklin


Citat: Vodka PlayObožavam te "skriptere" koji probleme rešavaju tako što menjaju mod svaka 2 dana, tako će sigurno naučiti.
Neko im nacrta u temi Å¡ta treba uraditi, al' ne vredi nisu svi za skriptanje.

gj, napokon da neko objasni i ovo jer možeš nabrojat na prste jedne ruke ko zna za ovo na BS

Citat: mumitza. poslato Avgust 20, 2019, 12:37:35 POSLE PODNE
gj, napokon da neko objasni i ovo jer možeš nabrojat na prste jedne ruke ko zna za ovo na BS
Ja sam sve ovo sto sada znam naucio 2018 i ako skriptam od 2016, nasao sam ucitelja dobrog. decko kida PAWN/RUST/Web dizajn/GO znaci bog je lik :D
My tutorials: y_inline & y_dialog, Ternary Operator, y_flooding, y_bit, samp-logger, Pawn Plus I Deo ( Dynamic Strings ), Map Zones, TextDraw Buttons, y_iterate, easyDialog, samp-plugin-timerfix
My includes: TextDraw Buttons


Respect: Bunta, Vedran, Ivan Bagarić, Itz.Yansi, Rade Ćurić (ni ja ne verujem)
Biggest respect goes to: ADRFranklin


Citat: Vodka PlayObožavam te "skriptere" koji probleme rešavaju tako što menjaju mod svaka 2 dana, tako će sigurno naučiti.
Neko im nacrta u temi Å¡ta treba uraditi, al' ne vredi nisu svi za skriptanje.

Citat: mumitza. poslato Avgust 20, 2019, 12:37:35 POSLE PODNE
gj, napokon da neko objasni i ovo jer možeš nabrojat na prste jedne ruke ko zna za ovo na BS
ja sam npr znao da postoji to, i da može jer sam vido od rusa, ali veze nisam imao kako se koristi ili kako se zove xD

Mnogo imaš ti još da jedeš kačamak.
skrr
Moj tutorijali: Bazilion indent warninga
WORK? : Smart Project 1.2 , Leskovacki Detmec, Rodjendanski  server


Penzionisani balkanski samp kripter


Ternary operatori su bukvalno dostupni u sve i jednom programskom jeziku, pomalo je tuzno sto neki tek sada otkrivaju ovo,a li gj :)

Citat: 6cadilab9 poslato Avgust 20, 2019, 13:03:28 POSLE PODNE
Ternary operatori su bukvalno dostupni u sve i jednom programskom jeziku, pomalo je tuzno sto neki tek sada otkrivaju ovo,a li gj :)
Ima nas kojima je pawn prvi programski jezik

Mnogo imaš ti još da jedeš kačamak.
skrr
Moj tutorijali: Bazilion indent warninga
WORK? : Smart Project 1.2 , Leskovacki Detmec, Rodjendanski  server


Penzionisani balkanski samp kripter


Citat: ʙᴜɴᴛᴀ ꜰᴜᴊɪᴡᴀʀᴀ poslato Avgust 20, 2019, 13:04:18 POSLE PODNE
Ima nas kojima je pawn prvi programski jezik
Meni je PHP ali to je copy-pasta ugl haha
My tutorials: y_inline & y_dialog, Ternary Operator, y_flooding, y_bit, samp-logger, Pawn Plus I Deo ( Dynamic Strings ), Map Zones, TextDraw Buttons, y_iterate, easyDialog, samp-plugin-timerfix
My includes: TextDraw Buttons


Respect: Bunta, Vedran, Ivan Bagarić, Itz.Yansi, Rade Ćurić (ni ja ne verujem)
Biggest respect goes to: ADRFranklin


Citat: Vodka PlayObožavam te "skriptere" koji probleme rešavaju tako što menjaju mod svaka 2 dana, tako će sigurno naučiti.
Neko im nacrta u temi Å¡ta treba uraditi, al' ne vredi nisu svi za skriptanje.

Citat: ʙᴜɴᴛᴀ ꜰᴜᴊɪᴡᴀʀᴀ poslato Avgust 20, 2019, 13:02:13 POSLE PODNE
ja sam npr znao da postoji to, i da može jer sam vido od rusa, ali veze nisam imao kako se koristi ili kako se zove xD
meni bakugan rekao prije 2 godine ja msm

Ja sam ovo video u SM modu 2016 za sat, i ako mi i dan danas nije jasno zasto je za sat koristeno ako postoji %02d specifier hahaha
My tutorials: y_inline & y_dialog, Ternary Operator, y_flooding, y_bit, samp-logger, Pawn Plus I Deo ( Dynamic Strings ), Map Zones, TextDraw Buttons, y_iterate, easyDialog, samp-plugin-timerfix
My includes: TextDraw Buttons


Respect: Bunta, Vedran, Ivan Bagarić, Itz.Yansi, Rade Ćurić (ni ja ne verujem)
Biggest respect goes to: ADRFranklin


Citat: Vodka PlayObožavam te "skriptere" koji probleme rešavaju tako što menjaju mod svaka 2 dana, tako će sigurno naučiti.
Neko im nacrta u temi Å¡ta treba uraditi, al' ne vredi nisu svi za skriptanje.

Citat: Osamu Dazai poslato Avgust 20, 2019, 13:29:40 POSLE PODNE
Ja sam ovo video u SM modu 2016 za sat, i ako mi i dan danas nije jasno zasto je za sat koristeno ako postoji %02d specifier hahaha
ja kad sam uzeo abyss da radim(lvg izvorna) i vidio za eure kako je Lukenzi radio ono if >0  <10 E000000%d tipa i nisam razmiÅ¡ljao, i kad sam to izbacio radio posle neÅ¡to i isto tako ispisao i posle jedno pola godine naletio na taj dio coda, sam sebe pitao zaÅ¡to nisam samo %08d .-.

Dobar tutorijal, ima ih dosta koji se nisu susreli sa ternarnim operatorom od ranije, posluzit ce mnogima koji zele nesto nauciti


bilo je lijepo dok je trajalo.