hlmod.hu https://hlmod.hu/ |
|
AmxModX Alapozó 05. - Kifejezések, operátorok https://hlmod.hu/viewtopic.php?f=55&t=3461 |
Oldal: 1 / 1 |
Szerző: | Metal [ 2012.02.17. 09:47 ] |
Hozzászólás témája: | AmxModX Alapozó 05. - Kifejezések, operátorok |
Kifejezések, operátorok A kifejezések hasonlóan néznek ki, mint a matematikában található kifejezések ezért ahhoz hasonló műveletekkel a Pawn nyelvben. Nem kell megijedni, nem fogunk belebonyolódni a matematikába, csupán az alapok tisztázása végett mélyedünk el benne. A kifejezések a bennük szereplő operátorokból, azonosítókból és zárójelekből épülnek fel - legtöbb esetben - a matematikai szabályok szerint. Minden kifejezés -bármilyen összetettek - kiértékelődnek és visszaadnak egy értéket. A kiértékelés folyamán a részkifejezések/literálok kiértékelésnek sorrendjét az operátorok precedenciája és azok esetleges zárójelezés határozzák meg: Először a belső zárójelekben lévő részkifejezések értékelődnek ki, ha azon belül vannak operátorok, akkor precedencia szerint sorrendben. (pl először a szorzás/osztás, majd összeadás/kivonás stb...). A precedenciákról korábbi fejezetben írtam össze egy táblázatot, így azt ide már nem illesztem be. Kifejezéseket a kódban bárhol s bármikor használhatsz, (akár egy sorban is, igaz az fordítási hibát dob). Legtöbbször az eredményeket meg változókban tároljuk az = operátor segítségével, vagy maga a kifejezést egy függvény paraméterébe ágyazzuk. Most pár példát írok össze. Ezeknek nagy része nem fordul le, de nem is ez a célom, hogy fordítható kódot mutassak, hanem azt, hogy demonstráljam a kifejezések működést. Kód:
Ha egy kifejezés értéke nem nulla vagy nem hamis, akkor nem csak az értékét adja vissza, hanem azt is, hogy "igaz" (true). Ellenkező esetben nullával fog visszatérni, ami hamis (false). (Lényegében: minden nem 0 eredményű kifejezés igaz, míg a 0 értékűek false) Matematikai kifejezések és operátorok Kód:
A kifejezéseket értékül adhatjuk új, vagy meglévő változóknak Kód:
Post/pre fixes operátorok Kód:
"Csonkolt" operátorműveletek Sok esetben szükséges egy adott operátor értékének megváltoztatására általában ez alapján tesszük meg: Kód:
Néhány operátor esetében használhatunk rövidítéseket, amik így néz ki: Kód:
Alábbi műveleteknek létezik rövidebb alakja Kód:
Logikai kifejezések és operátorok Nem csak matematikai operátorokkal rendelkezik a nyelv, hanem van lehetőség logikai operátorok használatára is. Az egyik legfontosabb operátor az ÉS operátor (&&). Kétoperandusú művelet, eredménye igaz, ha mindkettő kifejezés értéke igaz, ellenkező esetben hamis. A továbbiakban az igazat true-val és a hamisat false-szal fogom jelölni Kód:
A másik fontos operátor a VAGY (||) operátor. Ha valamelyik operandusa true, akkor || értéke true, ellenkező esetben false Kód:
Léteznek további (annyira nem használt) operátorok. Ilyen a bitenkénti ÉS ami két operandus azonos biteit ÉSeli össze az && operátorral, eredménye az újonnan kapott szám. Kód:
A következő ilyen operátor a bitenkénti vagy (|) Az elve hasonló: a két kifejezés azonos btjeit összeVAGYolja (||) és visszaadja az így kapott eredmény Kód:
Ugyanilyen ritkán használt, de fontos operátor a bitshiftelés (nem tudtam hirtelen jó szót rá ) Ezek az << és >> operátorok. Eltolja a biteket az operátornak megfelelő "irányba": Kód:
Utolsóként, egy fontos operátor mutatok b, ez a bitenkénti tagadás. Ezt használjuk az igazságértékek tagadására is. Számokra használva a számot bitenként tagadja (0-ból 1, 1-ből 0 lesz) Példák: Kód:
Röviden ennyi lenne. Várom kérdéseiteket. Metal |
Szerző: | kiki [ 2012.02.17. 14:07 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 05. - Kifejezések, operátorok |
Jólett Metal, ezek nagy részével már találkoztam szóval ezzel kapcsolatban nincs kérdésem! |
Szerző: | Silent [ 2012.02.17. 19:06 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 05. - Kifejezések, operátorok |
Jöhet a következő XD |
Szerző: | Silent [ 2015.12.05. 20:12 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 05. - Kifejezések, operátorok |
Öhm. Hol marad ez az operátor? Vagy ez Pawn-ban nem létezik? :D Kód: condition ? exp1 : exp2 |
Szerző: | Akosch:. [ 2015.12.05. 20:23 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 05. - Kifejezések, operátorok |
De-de, létezik pawnban is csak ritkán használják. |
Szerző: | mforce [ 2015.12.05. 20:32 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 05. - Kifejezések, operátorok |
Pedig használják, hát most a sok skin menünél mióta szólt crb mindenki úgy írja a skin után,hogy aktív vagy nem, nem if-el |
Szerző: | LyleChriss [ 2015.12.05. 20:39 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 05. - Kifejezések, operátorok |
True, az enyémben is úgy van. Bár nekem mforce szólt. |
Szerző: | ultraibolya [ 2015.12.10. 18:34 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 05. - Kifejezések, operátorok |
Nekem senki nem szólt,és nem is használom.he |
Oldal: 1 / 1 | Minden időpont UTC+02:00 időzóna szerinti |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |