hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 11:24



Jelenlévő felhasználók

Jelenleg 213 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 212 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 21 hozzászólás ]  Oldal 1 2 3 Következő
Szerző Üzenet
HozzászólásElküldve: 2012.02.11. 23:03 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Típusok, változók, konstansok

Mindenekelőtt definiálom (valahogy) a változót, mint fogalmat: Olyan objektum, ami képes egy adott típusú objektumot tárolni. Konyhanyelvi példa: a garázs képes autót tárolni, de hajót nem. Itt a változó típusa az autók, értékei lehetnek a különbözőmárkájú autók (Lada, Ferrari, BMW). A nyelvben leginkább a szám típus létezik, ekkor a szám típusú változók csak számokat képesek tárolni.

Az AMX Mod X-ban minden felhasznált névről meg kell mondanunk, hogy mi az amit képvisel, tudatnunk kell a fordítóprogrammal a típusát. A Pawn nyelv cellákat foglal le, így minden típus egyenlő helyet foglal le a memóriában: 32 bites rendszernél ez 4 byte, 64 bites rendszernél ez 8 byte. Ennek ellenére megkülönböztetünk 3 típust.

Integer típus
Ez az alapértelmezett típus, ami számokat és karaktereket képes tárolni. Új integer típusú változót a new kulcsszóval lehet létrehozni:
Kód:
new a            // Létrehoz egy üres "a" nevu változót

new b=5          // Deklarálja a "b" nevu változót és kezdeti értéket is ad neki (jelen esteben 5-öt)

new c=5.0        // Ez érvénytelen értékadás, mivel lebegőpontos számot akarunk értékül adni

new d="hello"    // "hello" nem szám, így invalid.

new e='A'       // Eltárolja az A betűt (ezt számként teszi, bővebb info a stringeknél)


// Lehetőség van egy sorban több változót deklarálni
Kód:
new e,f,g,h

new x=7, y=3

new z = 1_000_000 // Nagyobb számoknál a könnyebb olvashatóság végett biztosítja az ilyen jellegu számok megadását.


Float típus
A lebegopontos számok ábrázolására szolgál. Hasonlóan a new kulcsszóval hozzuk létre, de a változó elé még feltüntetjük a típusát. Ezt a Float: beírásával tehetjük meg.

Kód:
new Float:a            // "a" nevu Float típus deklarálása érték nélkül.

new Float:b=5.3        // „b” változó deklarálása 5.3as értékkel

new Float:c=5          // Ez helyes kód, de a fordító Warning-ot dob rá.

new Float:d="hello"    // "hello" nem lebegopontos szám, így invalid.


Az alábbiakat is érdemes megfigyelni:
Kód:
// A float(n) egy függvény, argumentuma egy szám, és a visszatérési értéke egy Float típsú szám. (pl float(5) => 5.0 az eredmény)

new Float:var = float(5)

new Float:var2 = 5.0    

new Float:var3 = 1.0*5

new var4 = floatround(5.0)    

// Megjegyzés: A floatround(n) egy függvény, ami az n Lebegopontos számot sima számmá alakítja. (floatround(5.0) => 5)


Boolean
Az utolsó típusunk a Boolean típus, ami két értéket vehet fel: igaz vagy hamis (true/false). A változó elé - mint a Floatnál - feltüntetjük a típusát: bool
Kód:
new bool:On        // Deklarálja az ON változót, aminek alapértelmezetten false az értéke

new bool:xyz=true      // xyz deklarálva true értékkel.


Konstansok
Konstansoknak azokat a változókat nevezzük, amelyeknek pontosan egyszer a definícióban adhatunk értéket (ekkor kötelező), és a new kulcsszó után írt const típusminősítővel jelezzük:
pl:
Kód:
new const Float:PI=3.14

new const alma  // Hibás, nincs kezdőérték

_________________
Kód:
I'm back

Kép

Ők köszönték meg Metal nek ezt a hozzászólást (összesen 4): kiki (2012.09.29. 13:05) • IrOn (2012.11.05. 20:02) • Jerikoo (2014.08.26. 11:25) • Vieni (2018.07.30. 11:14)
  Népszerűség: 9.09%


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.02.15. 11:27 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Up!

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.02.16. 15:05 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7962
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 535 alkalommal
a konstansokat magyarázd már el bővebben, nem nagyon értem.

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.02.16. 15:09 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
kiki írta:
a konstansokat magyarázd már el bővebben, nem nagyon értem.


Egyetértek.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.02.16. 15:10 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
"Konstansoknak azokat a változókat nevezzük, amelyeknek pontosan egyszera definícióban adhatunk értéket (ekkor kötelező), és a new kulcsszó után írt const típusminősítővel jelezzük:"

Ebből következik, hogy a konstans változó értékei nem módosíthatóak, és a változók deklarálásakor kötelező jelleggel meg kell határozni az értékét.
Emiatt a példákban az első példa helyes, mert a létrehozáskor értéket kap, míg a második nem fordul le, mivel létrehozzuk, de nem kap értéket.

kiki írta:
a konstansokat magyarázd már el bővebben, nem nagyon értem.

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.02.16. 15:12 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7962
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 535 alkalommal
Szóval

Kód:
  1.  

  2. //Ennek az értékét nem lehet késöbb változtatni

  3. new const Float:PI=3.14

  4. //Ennek meg lehet

  5. new Float:PI=3.14

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.02.16. 15:25 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Igen

kiki írta:
Szóval

Kód:
  1.  

  2. //Ennek az értékét nem lehet késöbb változtatni

  3. new const Float:PI=3.14

  4. //Ennek meg lehet

  5. new Float:PI=3.14

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.03.10. 19:57 
Offline
Újonc

Csatlakozott: 2012.02.25. 09:49
Hozzászólások: 11
Üdv!
A float típusnál a "Az alábbiak is érdemes megfigyelni" sor rosszul sikerült!

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.03.10. 19:59 
Offline
Tiszteletbeli

Csatlakozott: 2010.02.04. 19:12
Hozzászólások: 3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
Roal írta:
Üdv!
A float típusnál a "Az alábbiak is érdemes megfigyelni" sor rosszul sikerült!

javítottam neki

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2012.03.11. 10:40 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Kedves :)
IrOn123 írta:
Roal írta:
Üdv!
A float típusnál a "Az alábbiak is érdemes megfigyelni" sor rosszul sikerült!

javítottam neki

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 21 hozzászólás ]  Oldal 1 2 3 Következő


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole