Skip to content

Commit 82e6d6e

Browse files
committed
translate language folder
1 parent eda1b0a commit 82e6d6e

File tree

11 files changed

+3677
-0
lines changed

11 files changed

+3677
-0
lines changed

frontend/i18n/fa/docusaurus-plugin-content-docs/current/scripting/language/ControlStructures.md

Lines changed: 711 additions & 0 deletions
Large diffs are not rendered by default.

frontend/i18n/fa/docusaurus-plugin-content-docs/current/scripting/language/Directives.md

Lines changed: 338 additions & 0 deletions
Large diffs are not rendered by default.

frontend/i18n/fa/docusaurus-plugin-content-docs/current/scripting/language/Initialisers.md

Lines changed: 876 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
---
2+
title: "کلمات کلیدی: عملگرها"
3+
sidebar_label: "کلمات کلیدی: عملگرها"
4+
---
5+
6+
## `char`
7+
8+
char تعداد سلول‌های لازم برای نگه داشتن تعداد داده شده کاراکترها در یک رشته packed برمی‌گرداند. یعنی تعداد سلول‌های 4-بایتی لازم برای نگه داشتن تعداد داده شده بایت‌ها. برای مثال:
9+
10+
```c
11+
4 char
12+
```
13+
14+
برمی‌گرداند 1.
15+
16+
```c
17+
3 char
18+
```
19+
20+
برمی‌گرداند 1 (نمی‌توانید 3/4 متغیر داشته باشید).
21+
22+
```c
23+
256 char
24+
```
25+
26+
برمی‌گرداند 64 (256 تقسیم بر 4).
27+
28+
این عموماً در اعلان متغیرها استفاده می‌شود.
29+
30+
```c
31+
new
32+
someVar[40 char];
33+
```
34+
35+
آرایه‌ای 10 سلولی خواهد ساخت.
36+
37+
برای اطلاعات بیشتر در مورد رشته‌های packed، pawn-lang.pdf را بخوانید.
38+
39+
## `defined`
40+
41+
بررسی می‌کند که آیا نمادی وجود دارد. عموماً در دستورات #if استفاده می‌شود:
42+
43+
```c
44+
new
45+
someVar = 5;
46+
#if defined someVar
47+
printf("%d", someVar);
48+
#else
49+
#error The variable 'someVar' isn't defined
50+
#endif
51+
```
52+
53+
بیشتر برای بررسی اینکه آیا define تعریف شده و تولید کد مطابق با آن استفاده می‌شود:
54+
55+
```c
56+
#define FILTERSCRIPT
57+
58+
#if defined FILTERSCRIPT
59+
60+
public OnFilterScriptInit()
61+
{
62+
return 1;
63+
}
64+
65+
#else
66+
67+
public OnGameModeInit()
68+
{
69+
return 1;
70+
}
71+
72+
#endif
73+
```
74+
75+
## `sizeof`
76+
77+
اندازه آرایه را در عناصر برمی‌گرداند:
78+
79+
```c
80+
new
81+
someVar[10];
82+
printf("%d", sizeof (someVar));
83+
```
84+
85+
خروجی:
86+
87+
```c
88+
10
89+
```
90+
91+
و:
92+
93+
```c
94+
new
95+
someVar[2][10];
96+
printf("%d %d", sizeof (someVar), sizeof (someVar[]));
97+
```
98+
99+
می‌دهد:
100+
101+
```c
102+
2 10
103+
```
104+
105+
## `state`
106+
107+
این دوباره مربوط به کد autonoma در PAWN است و بنابراین اینجا پوشش داده نمی‌شود.
108+
109+
## `tagof`
110+
111+
این عددی برمی‌گرداند که نمایانگر تگ یک متغیر است:
112+
113+
```c
114+
new
115+
someVar,
116+
Float:someFloat;
117+
printf("%d %d", tagof (someVar), tagof (someFloat));
118+
```
119+
120+
می‌دهد:
121+
122+
```c
123+
-./,),(-*,( -1073741820
124+
```
125+
126+
که یک باگ جزئی است اما اساساً به معنای:
127+
128+
```c
129+
0x80000000 0xC0000004
130+
```
131+
132+
برای بررسی، برای مثال، اینکه آیا متغیر float است (با تگ 'Float:'):
133+
134+
```c
135+
new Float: fValue = 6.9;
136+
137+
new tag = tagof (fValue);
138+
139+
if (tag == tagof (Float:))
140+
{
141+
print("float");
142+
}
143+
else
144+
{
145+
print("not a float");
146+
}
147+
```

0 commit comments

Comments
 (0)