Anahtar Kelimeler: Operatörler
char
char
, bir paketlenmiş dize içinde verilen karakter sayısını tutmak için gereken hücre sayısını döndürür. Yani belirli bir bayi sayısını tutmak için gereken 4 bayilik hücre sayısını. Örneğin:
4 char
1 döndürür.
3 char
1 döndürür (bir değişkenin 3/4'ünü alamazsınız).
256 char
64 döndürür (256'yı 4'e bölerseniz).
Bu genellikle değişken bildirimlerinde kullanılır.
new
someVar[40 char];
10 hücrelik bir dizi yapacaktır.
Paketlenmiş diziler hakkında daha fazla bilgi için pawn-lang.pdf'ye başvurun.
defined
Bir sembolün var olup olmadığını kontrol eder. Genellikle #if ifadelerinde kullanılır:
new
someVar = 5;
#if defined someVar
printf("%d", someVar);
#else
#error The variable 'someVar' isn't defined
#endif
Genellikle bir tanımın tanımlanıp tanımlanmadığını kontrol etmek ve buna göre kod üretmek için kullanılır:
#define FILTERSCRIPT
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
return 1;
}
#else
public OnGameModeInit()
{
return 1;
}
#endif
sizeof
Bir dizinin ELEMANLAR cinsinden boyutunu döndürür:
new
someVar[10];
printf("%d", sizeof (someVar));
Çıkış:
10
Ve:
new
someVar[2][10];
printf("%d %d", sizeof (someVar), sizeof (someVar[]));
Şunu verir:
2 10
state
Bu tekrar PAWN otanom koduyla ilgilidir ve bu nedenle burada ele alınmaz.
tagof
Bu, bir değişkenin etiketini temsil eden bir sayı döndürür:
new
someVar,
Float:someFloat;
printf("%d %d", tagof (someVar), tagof (someFloat));
Şunu verir:
-./,),(-*,( -1073741820
Bu hafif bir hata olsa da temelde şunu ifade eder:
0x80000000 0xC0000004
Örneğin, bir değişkenin bir float (etiket 'Float:') olup olmadığını kontrol etmek için:
new Float: fValue = 6.9;
new tag = tagof (fValue);
if (tag == tagof (Float:))
{
print("float");
}
else
{
print("not a float");
}