Skip to content

Commit 448aa57

Browse files
committed
ternary.md
1 parent d4352c9 commit 448aa57

File tree

10 files changed

+296
-204
lines changed

10 files changed

+296
-204
lines changed

Writerside/AngelScript.tree

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,17 @@
5050
<toc-element topic="namespace.md"/>
5151
<toc-element topic="operator.md"/>
5252
<toc-element topic="expressions.md"/>
53-
<toc-element topic="conditions.md"/>
54-
<toc-element topic="loops.md"/>
53+
<toc-element topic="conditions.md">
54+
<toc-element topic="ternary.md"/>
55+
<toc-element topic="if.md"/>
56+
<toc-element topic="switch.md"/>
57+
</toc-element>
58+
<toc-element topic="loops.md">
59+
<toc-element topic="while.md"/>
60+
<toc-element topic="for.md"/>
61+
<toc-element topic="break.md"/>
62+
<toc-element topic="continue.md"/>
63+
</toc-element>
5564
<toc-element topic="class.md">
5665
<toc-element topic="class-property.md"/>
5766
<toc-element topic="method.md">

Writerside/topics/break.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# break
2+
3+
При использовании в [цикле](loops.md) завершает его. Так же используется в операторе [switch](switch.md#break).
4+
5+
```C#
6+
for(int i = 0 ; ; i++){
7+
if (i > 5) break; // Цикл завершится если i больше пяти.
8+
}
9+
```
10+
11+
> Ключевое слово `break` не может быть частью [выражения](expressions.md).

Writerside/topics/conditions.md

Lines changed: 4 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -4,123 +4,9 @@
44

55
<a href="https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script_statements.html#if"/>
66

7-
Они же [ветвления](https://w.wiki/9kCH) - это операция, применяющаяся в случаях, когда выполнение или невыполнение
7+
Условие, или ветвление — операция, применяющаяся в случаях, когда выполнение или невыполнение
88
некоторого набора команд должно зависеть от выполнения или невыполнения некоторого условия.
99

10-
## if
11-
12-
Используется для того, чтобы решить, выполнять или нет ту, или иную часть логики в зависимости от
13-
определенного условия.
14-
15-
```C#
16-
if (A){
17-
// Этот блок выполнится если A истинно
18-
}
19-
```
20-
21-
Результатом выполнения условного [выражения](expressions.md) `A` должно быть только `true` или `false`.
22-
23-
### else
24-
25-
Позволяет выполнить блок кода, если условие в `if` ложно.
26-
27-
```C#
28-
if (A){
29-
// Этот блок выполнится если A истинно
30-
} else {
31-
// Этот блок выполнится если A ложно
32-
}
33-
```
34-
35-
## switch
36-
37-
Позволяет выбирать одно из множества возможных значений переменной или выражения и выполнять соответствующий блок
38-
кода.
39-
40-
```C#
41-
switch(A){
42-
case 1:
43-
// Этот блок выполнится если A равно 1
44-
break;
45-
case 2:
46-
// Этот блок выполнится если A равно 2
47-
break;
48-
}
49-
```
50-
51-
### case
52-
53-
Значением `case` может быть переменная, определённая как [](var.md#const) и значение которой может быть
54-
вычислено на этапе компиляции.
55-
56-
### break
57-
58-
После первой положительной проверки в `case` будут выполнены все последующие блоки:
59-
60-
```C#
61-
switch(A){
62-
case 1:
63-
// Этот блок выполнится если A равно 1
64-
case 2:
65-
// Этот блок выполнится если A равно 1 или 2
66-
case 3:
67-
// Этот блок выполнится если A равно 1 или 2 или 3
68-
}
69-
```
70-
71-
Для контроля этого поведения служит `break`, который прерывает исполнение ближайшего `switch`:
72-
73-
```C#
74-
switch(A){
75-
case 1:
76-
// Этот блок выполнится если A равно 1
77-
break;
78-
case 2:
79-
case 3:
80-
// Этот блок выполнится если A равно 2 или 3
81-
break;
82-
case 4:
83-
// Этот блок выполнится если A равно 4
84-
// break; в последнем блоке можно опустить ибо логика не изменится
85-
}
86-
```
87-
88-
> Ключевое слово `break` не может быть частью [выражения](expressions.md).
89-
90-
### default
91-
92-
Для случая, когда не выполнился ни один `case` можно указать действия в блоке `default`:
93-
94-
```C#
95-
switch(A){
96-
case 1:
97-
// Этот блок выполнится если A равно 1
98-
break;
99-
case 2:
100-
// Этот блок выполнится если A равно 2
101-
break;
102-
default:
103-
// Этот блок выполнится если не выполнился ни один case
104-
break;
105-
}
106-
```
107-
108-
В одном `switch` может содержаться максимум один блок `default`, но располагаться он может на любой позиции. Это
109-
поведение можно, к примеру, использовать с [перечислениями](enum.md):
110-
111-
```C#
112-
enum MyEnum {A, B, C}
113-
114-
int GetMyEnumValue(int myInt){
115-
switch(myInt){
116-
case MyEnum::A:
117-
return MyEnum::A;
118-
// Если myInt не является одним из значений MyEnum, используем MyEnum::B в качестве значения по умолчанию.
119-
default:
120-
case MyEnum::B:
121-
return MyEnum::B;
122-
case MyEnum::C:
123-
return MyEnum::C;
124-
}
125-
}
126-
```
10+
- [](ternary.md)
11+
- [](if.md)
12+
- [](switch.md)

Writerside/topics/continue.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# continue
2+
3+
Принудительно завершает итерацию цикла.
4+
5+
```C#
6+
// Выводим в консоль числа от ноля до десяти исключая пять.
7+
for(int i = 0 ; i <= 10 ; ++i){
8+
if (i == 5) continue;
9+
print(i + "\n");
10+
}
11+
```
12+
13+
> Ключевое слово `continue` не может быть частью [выражения](expressions.md).

Writerside/topics/for.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# for
2+
3+
Более компактная форма `while`.
4+
5+
```C#
6+
for (/* init */ ; /* condition */ ; /* loop */) {
7+
// Этот блок будет исполняться бесконечно.
8+
}
9+
```
10+
11+
## init
12+
13+
Выполняется один раз перед началом цикла. Служит для объявления переменных, которые видны только внутри цикла.
14+
15+
```C#
16+
for (int i = 0, j = 10 ; ; ){
17+
// Переменные i, j доступны внутри цикла
18+
}
19+
// Переменные i, j недоступны за пределами цикла
20+
```
21+
22+
## condition
23+
24+
[Выражение,](expressions.md) которое выполняется перед каждой итерацией цикла. Если его результат будет равен `true`, то
25+
цикл свершится, иначе цикл прервётся. Отсутствие выражения будет интерпретировано как `true`.
26+
27+
```C#
28+
for (int i = 0 ; i < 10 ; ){
29+
// Этот блок будет выполняться пока i меньше 10
30+
}
31+
```
32+
33+
## loop
34+
35+
Действие, которое будет выполнено перед завершением итерации цикла
36+
37+
```C#
38+
for (int i = 0; i < 10 ; ++i){
39+
// Этот блок будет выполняться пока i меньше 10
40+
}
41+
```

Writerside/topics/if.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# if
2+
3+
Используется для того, чтобы решить, какой блок кода необходимо выполнить в зависимости от некоего условия.
4+
5+
```C#
6+
bool A = true;
7+
8+
if (A){
9+
// Этот блок выполнится если A истинно
10+
}
11+
```
12+
13+
<deflist>
14+
<def>
15+
<title>Пример</title>
16+
17+
```c#
18+
void [[[main|main.md]]](){
19+
if (4 % 2 == 0){
20+
print("Число 4 чётное");
21+
}
22+
}
23+
```
24+
</def>
25+
</deflist>
26+
27+
## else
28+
29+
Позволяет выполнить блок кода, если условие в `if` ложно.
30+
31+
```C#
32+
bool A = false;
33+
34+
if (A){
35+
// Этот блок выполнится если A истинно
36+
} else {
37+
// Этот блок выполнится если A ложно
38+
}
39+
```
40+
41+
<deflist>
42+
<def>
43+
<title>Пример</title>
44+
45+
```c#
46+
void [[[main|main.md]]](){
47+
int i = 5;
48+
49+
if (i % 2 == 0){
50+
print("Число " + i + " чётное");
51+
} else {
52+
print("Число " + i + " нечётное");
53+
}
54+
}
55+
```
56+
</def>
57+
</deflist>

Writerside/topics/loops.md

Lines changed: 7 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -4,90 +4,13 @@
44

55
<a href="https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script_statements.html#while"/>
66

7-
[Цикл](https://w.wiki/9kNy) это конструкция позволяющая многократно исполнять определённый набор инструкций.
7+
[Цикл](https://w.wiki/9kNy) это конструкция позволяющая многократно исполнять определённый набор инструкций. В языке
8+
определено несколько видов циклов:
89

9-
## while
10+
- [](for.md)
11+
- [](while.md)
1012

11-
```C#
12-
while(A){
13-
// Этот блок будет выполняться пока A истинно.
14-
}
15-
```
13+
Так же существуют операторы прерывания:
1614

17-
### do
18-
19-
В отличие от традиционного `while` в `do` варианте условие проверяется после совершения действия.
20-
21-
```C#
22-
do {
23-
// Этот блок гарантировано выполнится один раз и будет выполняться пока A истинно.
24-
} while(A);
25-
```
26-
27-
## for
28-
29-
Более компактная форма `while`.
30-
31-
```C#
32-
for (/* init */ ; /* condition */ ; /* loop */){
33-
// Этот блок будет исполняться бесконечно.
34-
}
35-
```
36-
37-
### init
38-
39-
Выполняется один раз перед началом цикла. Служит для объявления переменных, которые видны только внутри цикла.
40-
41-
```C#
42-
for (int i = 0, j = 10 ; ; ){
43-
// Переменные i, j доступны внутри цикла
44-
}
45-
// Переменные i, j недоступны за пределами цикла
46-
```
47-
48-
### condition
49-
50-
[Выражение,](expressions.md) которое выполняется перед каждой итерацией цикла. Если его результат будет равен `true`, то
51-
цикл свершится, иначе цикл прервётся. Отсутствие выражения будет интерпретировано как `true`.
52-
53-
```C#
54-
for (int i = 0 ; i < 10 ; ){
55-
// Этот блок будет выполняться пока i меньше 10
56-
}
57-
```
58-
59-
### loop
60-
61-
Действие, которое будет выполнено перед завершением итерации цикла
62-
63-
```C#
64-
for (int i = 0; i < 10 ; ++i){
65-
// Этот блок будет выполняться пока i меньше 10
66-
}
67-
```
68-
69-
## break
70-
71-
Принудительное завершение цикла.
72-
73-
```C#
74-
for(int i = 0 ; ; i++){
75-
if (i > 5) break; // Цикл завершится если i больше пяти.
76-
}
77-
```
78-
79-
> Ключевое слово `break` не может быть частью [выражения](expressions.md).
80-
81-
## continue
82-
83-
Принудительное завершение итерации цикла.
84-
85-
```C#
86-
// Выводим в консоль числа от ноля до десяти исключая пять.
87-
for(int i = 0 ; i <= 10 ; ++i){
88-
if (i == 5) continue;
89-
print(i + "\n");
90-
}
91-
```
92-
93-
> Ключевое слово `continue` не может быть частью [выражения](expressions.md).
15+
- [](break.md)
16+
- [](continue.md)

0 commit comments

Comments
 (0)