Szerző Téma: [Leírás] Egész szám logikai változóvá alakítás  (Megtekintve 1792 alkalommal)

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
[Leírás] Egész szám logikai változóvá alakítás
« Dátum: 2011. január 26. - 20:08:09 »
0 Show voters
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)

[Leírás] Egész szám logikai változóvá alakítás
« Válasz #1 Dátum: 2011. január 26. - 20:17:25 »
0 Show voters
ó thx, valóban jó dolognak tûnik :) ;D

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[Leírás] Egész szám logikai változóvá alakítás
« Válasz #2 Dátum: 2011. január 26. - 20:24:15 »
0 Show voters
É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
« Utoljára szerkesztve: 2011. január 26. - 20:26:22 írta kurta999 »

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
[Leírás] Egész szám logikai változóvá alakítás
« Válasz #3 Dátum: 2011. január 26. - 20:31:52 »
0 Show voters
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;
}

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[Leírás] Egész szám logikai változóvá alakítás
« Válasz #4 Dátum: 2011. január 26. - 21:18:46 »
0 Show voters
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 )

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[Leírás] Egész szám logikai változóvá alakítás
« Válasz #5 Dátum: 2011. január 29. - 19:58:34 »
0 Show voters
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 ?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal