GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: jana4 - 2011. Január 26. - 20:08:09

Cím: [Leírás] Egész szám logikai változóvá alakítás
Írta: jana4 - 2011. Január 26. - 20:08:09
Ahogy egy régi közmondás mondja: Egyszerû, de nagyszerû.

Hivatalos fórumon olvastam, hogy hogyan lehet integerbõl logikai változóvá alakítani a számot.


Fontos tudni: a logikai változónak két értéke lehet, igaz vagy hamis. (1 / 0)


\'Konvertáláshoz\' egyszerûen csak kettõ felkiáltó jelet kell tenni a változó elé.


Nézzünk egy példát.

 

new ThisWillBool = 1337;
printf(\"%i\", !!ThisWillBool);

 


new ThisWillBool = -4;
printf(\"%i\", !!ThisWillBool);

 


new ThisWillBool = 0;
printf(\"%i\", !!ThisWillBool);

 
Ez a kis egyszerûsítés sok helyen hasznos lehet.  ;)

Forrás: Slice (Official SA-MP Forum)
Cím: [Leírás] Egész szám logikai változóvá alakítás
Írta: Stricica - 2011. Január 26. - 20:17:25
ó thx, valóban jó dolognak tûnik :) ;D
Cím: [Leírás] Egész szám logikai változóvá alakítás
Írta: kurta999 - 2011. Január 26. - 20:24:15
Érdekes egy dolog, életemben nem hallottam ilyenrõl :D
De ez hülyeség, hogy -4-et adsz meg neki, aztán azt konvertálod.
Katt :D
Cím: [Leírás] Egész szám logikai változóvá alakítás
Írta: jana4 - 2011. Január 26. - 20:31:52
Ez csak 1 szemléltetõ példa.
Filterszkript tesztelésre:
 

#include <a_samp>
public OnFilterScriptInit()
{
for(new c; c < 10; ++c) print(\"\\n\");
new ThisWillBool = 1337;
printf(\"Ha ez 1 akkor a teszt sikeres ----> %i\", !!ThisWillBool);
ThisWillBool = -4;
printf(\"Ha ez 1 akkor a teszt sikeres ----> %i\", !!ThisWillBool);
ThisWillBool = 0;
printf(\"Ha ez 0 akkor a teszt sikeres ----> %i\", !!ThisWillBool);
return 1;
}
Cím: [Leírás] Egész szám logikai változóvá alakítás
Írta: ZeRo - 2011. Január 26. - 21:18:46
Igen, de végül is ha belegondolsz, minden ilyen egyszerûsítés( legalábbis a legtöbb ) \"felesleges\". Mert oké, átkonvertálod logikai értékre, kevesebb memóriát foglal, stb. De létrehozol egy új változót, ami akkor már mégis csak több, mint amibõl kiindultál. És ha jól látom, az elmélet szerint a 0-tól különbözõ számok értéke igaz. Tehát akkor egy ellenõrzés ennyi:
 
if( someNumber != 0 )
Cím: [Leírás] Egész szám logikai változóvá alakítás
Írta: kurta999 - 2011. Január 29. - 19:58:34
Ha már kicsit elmentünk a memória felé, akkor ha egy timer alatt te létrehozol egy új valamit, akkor azt minen lefutásnál létrehozzva, és minél több memóriát fog enni ?