@artel/ru-artel-system 0.6.25216 → 0.6.25217
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214//320/234/320/265/321/202/320/272/320/260/320/222/321/200/320/265/320/274/320/265/320/275/320/270./320/260/321/200/321/202 +6 -3
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214//320/236/320/261/321/212/320/265/320/272/321/202./320/260/321/200/321/202 +2 -2
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214//320/242/320/265/320/272/321/201/321/202./320/260/321/200/321/202 +2 -2
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214//320/246/320/265/320/273/320/276/320/265./320/260/321/200/321/202 +11 -7
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214//320/247/320/270/321/201/320/273/320/276./320/260/321/200/321/202 +11 -7
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/222/320/267/320/260/320/270/320/274/320/276/320/264/320/265/320/271/321/201/321/202/320/262/320/270/320/265//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/237/320/276/320/264/321/201/321/202/320/260/320/275/320/276/320/262/320/272/320/260./320/260/321/200/321/202 +2 -1
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/220/321/200/321/202/320/265/320/273/321/214./320/260/321/200/321/202 +7 -2
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/222/321/201/320/277/320/276/320/274/320/276/320/263/320/260/321/202/320/265/320/273/321/214/320/275/321/213/320/265/320/236/320/277/320/265/321/200/320/260/321/206/320/270/320/270./320/260/321/200/321/202 +8 -7
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/224/320/260/321/202/320/260/320/222/321/200/320/265/320/274/321/217./320/260/321/200/321/202 +5 -5
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/227/320/260/320/264/320/260/321/207/320/260./320/260/321/200/321/202 +3 -3
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/234/320/260/321/201/321/201/320/270/320/262./320/260/321/200/321/202 +64 -61
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/234/320/260/321/202/321/200/320/270/321/206/320/260./320/260/321/200/321/202 +27 -24
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/234/320/265/321/202/320/272/320/260/320/222/321/200/320/265/320/274/320/265/320/275/320/270./320/260/321/200/321/202 +8 -9
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/234/320/275/320/276/320/266/320/265/321/201/321/202/320/262/320/276./320/260/321/200/321/202 +9 -8
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/236/320/261/321/212/320/265/320/272/321/202./320/260/321/200/321/202 +22 -8
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/236/321/207/320/265/321/200/320/265/320/264/321/214./320/260/321/200/321/202 +7 -5
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/237/320/265/321/200/320/265/320/262/320/276/320/264/321/213./320/260/321/200/321/202 +7 -5
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/237/320/276/320/267/320/266/320/265./320/260/321/200/321/202 +6 -5
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/237/321/200/320/276/320/272/321/201/320/270./320/260/321/200/321/202 +5 -3
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/237/321/200/320/276/320/274/320/265/320/266/321/203/321/202/320/276/320/272./320/260/321/200/321/202 +8 -6
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/241/320/273/320/276/320/262/320/260/321/200/321/214./320/260/321/200/321/202 +16 -15
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/241/320/277/320/270/321/201/320/276/320/272./320/260/321/200/321/202 +41 -40
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/241/321/201/321/213/320/273/320/272/320/260./320/260/321/200/321/202 +8 -13
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/241/321/202/320/265/320/272./320/260/321/200/321/202 +7 -6
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/242/320/265/320/263./320/260/321/200/321/202 +5 -2
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/242/320/265/320/272/321/201/321/202./320/260/321/200/321/202 +83 -82
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/242/320/265/320/272/321/201/321/202/320/276/320/262/320/270/320/272./320/260/321/200/321/202 +37 -35
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/246/320/265/320/273/320/276/320/265./320/260/321/200/321/202 +11 -9
- package//320/230/321/201/321/205/320/276/320/264/320/275/320/270/320/272/320/270//320/220/321/200/321/202/320/265/320/273/321/214./320/240/320/265/320/260/320/273/320/270/320/267/320/260/321/206/320/270/321/217./320/224/320/266/320/260/320/262/320/260/320/241/320/272/321/200/320/270/320/277/321/202//320/247/320/270/321/201/320/273/320/276./320/260/321/200/321/202 +11 -8
package/package.json
CHANGED
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
функция миллисекунд-с-01-01-1970(): Число
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
всеобщее
|
|
9
|
+
{
|
|
10
|
+
функция из-текста(текст: Текст): МеткаВремени
|
|
11
|
+
функция из-миллисекунд-с-01-01-1970(миллисекунд: Число): МеткаВремени
|
|
12
|
+
функция сейчас(): МеткаВремени
|
|
13
|
+
}
|
|
11
14
|
}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
заменяемая функция в-текст(): Текст
|
|
7
7
|
|
|
8
|
-
функция хэш-код(): Целое
|
|
8
|
+
заменяемая функция хэш-код(): Целое
|
|
9
9
|
|
|
10
|
-
функция равно(др: Объект): ДаНет
|
|
10
|
+
заменяемая функция равно(др: Объект): ДаНет
|
|
11
11
|
|
|
12
12
|
// Экспериментально в предположении, что
|
|
13
13
|
// имя типа это выражение с типом ОбозначениеТипа<Т>
|
|
@@ -73,8 +73,6 @@
|
|
|
73
73
|
чтение [позиция: Целое]: Символ
|
|
74
74
|
конст конец: Целое
|
|
75
75
|
|
|
76
|
-
всеобщее конст пустой: ФрагментТекста
|
|
77
|
-
|
|
78
76
|
создание(текст`: Текст, начало`: Целое, длина`: Целое)
|
|
79
77
|
создание(текст`: Текст, начало`: Целое = 0)
|
|
80
78
|
создание(начало`: Целое, конец`: Целое, текст`: Текст)
|
|
@@ -88,6 +86,8 @@
|
|
|
88
86
|
|
|
89
87
|
заменена функция в-текст(): Текст
|
|
90
88
|
заменена функция перебор(): Перебор<Символ>
|
|
89
|
+
|
|
90
|
+
всеобщее конст пустой: ФрагментТекста
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
тип ШаблонТекста = объект
|
|
@@ -4,16 +4,20 @@
|
|
|
4
4
|
создание()
|
|
5
5
|
создание(число: Число)
|
|
6
6
|
|
|
7
|
-
всеобщее
|
|
8
|
-
|
|
7
|
+
всеобщее
|
|
8
|
+
{
|
|
9
|
+
конст наименьшее: Целое
|
|
10
|
+
конст наибольшее: Целое
|
|
11
|
+
|
|
12
|
+
функция из-текста(текст: Текст): Целое
|
|
13
|
+
}
|
|
9
14
|
|
|
10
15
|
функция в-текст(ширина: Целое, заполнитель: Символ = "0"): Текст
|
|
11
|
-
всеобщая функция из-текста(текст: Текст): Целое
|
|
12
16
|
|
|
13
|
-
функция
|
|
14
|
-
функция
|
|
15
|
-
функция
|
|
16
|
-
функция
|
|
17
|
+
функция побитовое-и(др: Целое): Целое
|
|
18
|
+
функция побитовое-или(др: Целое): Целое
|
|
19
|
+
функция побитовое-искл(др: Целое): Целое
|
|
20
|
+
функция побитовое-не(): Целое
|
|
17
21
|
|
|
18
22
|
функция сдвиг-влево(разрядов: Целое): Целое
|
|
19
23
|
функция сдвиг-вправо(разрядов: Целое): Целое
|
|
@@ -4,12 +4,17 @@
|
|
|
4
4
|
создание()
|
|
5
5
|
создание(целое: Целое)
|
|
6
6
|
|
|
7
|
-
всеобщее
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
всеобщее
|
|
8
|
+
{
|
|
9
|
+
конст погрешность: Число
|
|
10
|
+
конст наименьшее: Число
|
|
11
|
+
конст наибольшее: Число
|
|
12
|
+
конст минус-бесконечность: Число
|
|
13
|
+
конст плюс-бесконечность: Число
|
|
14
|
+
конст не-число: Число
|
|
15
|
+
|
|
16
|
+
функция из-текста(текст: Текст): Число
|
|
17
|
+
}
|
|
13
18
|
|
|
14
19
|
функция это-минус-бесконечность(): ДаНет
|
|
15
20
|
функция это-плюс-бесконечность(): ДаНет
|
|
@@ -20,7 +25,6 @@
|
|
|
20
25
|
функция округлить-к-меньшему(): Целое
|
|
21
26
|
|
|
22
27
|
функция в-текст(ширина: Целое, заполнитель: Символ = "0"): Текст
|
|
23
|
-
всеобщая функция из-текста(текст: Текст): Число
|
|
24
28
|
|
|
25
29
|
функция '+'(): Число
|
|
26
30
|
функция '-'(): Число
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
подключить JS = Platform.JavaScript
|
|
3
3
|
подключить ВЗ = Артель.Взаимодействие
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
скрыто (в пакете)
|
|
6
|
+
тип Пусто = простой объект
|
|
6
7
|
{
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
скрыто (в пакете)
|
|
11
|
+
тип ДаНет = JS.Boolean
|
|
10
12
|
{
|
|
11
13
|
#ВЗ.ВстроеноВПлатформу
|
|
12
14
|
функция 'не'(): А.ДаНет
|
|
@@ -25,6 +27,7 @@
|
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
|
|
30
|
+
скрыто (в пакете)
|
|
28
31
|
тип Вариант = JS.Object
|
|
29
32
|
{
|
|
30
33
|
создание()
|
|
@@ -33,10 +36,12 @@
|
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
|
|
39
|
+
скрыто (в пакете)
|
|
36
40
|
тип Аспект = JS.Object
|
|
37
41
|
{
|
|
38
42
|
}
|
|
39
43
|
|
|
44
|
+
скрыто (в пакете)
|
|
40
45
|
тип Функция = JS.Function
|
|
41
46
|
{
|
|
42
47
|
чтение контекст: Объект?
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/* Содержит функции для нужд генератора кода. */
|
|
2
2
|
|
|
3
|
-
подключить
|
|
3
|
+
подключить А = Артель
|
|
4
|
+
подключить JS = Platform.JavaScript
|
|
4
5
|
|
|
5
6
|
скрыто (в пакете)
|
|
6
|
-
функция целочисленное-деление(делимое:
|
|
7
|
+
функция целочисленное-деление(делимое: А.Число, делитель: А.Число): А.Целое
|
|
7
8
|
{
|
|
8
9
|
пусть частное = делимое / делитель
|
|
9
|
-
вернуть Math.floor(частное) как
|
|
10
|
+
вернуть JS.Math.floor(частное) как А.Целое когда частное > 0 : JS.Math.ceil(частное) как А.Целое
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
скрыто (в
|
|
13
|
-
функция число-является-целым(число:
|
|
13
|
+
скрыто (в пакете)
|
|
14
|
+
функция число-является-целым(число: А.Число): А.ДаНет
|
|
14
15
|
{
|
|
15
|
-
вернуть число == Math.round(число)
|
|
16
|
+
вернуть число == JS.Math.round(число)
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
скрыто (в
|
|
19
|
+
скрыто (в пакете)
|
|
19
20
|
функция прервать-с-ошибкой(аргумент: Объект? = пусто): Пусто
|
|
20
21
|
{
|
|
21
22
|
ошибка аргумент
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
подключить А = Артель
|
|
3
3
|
подключить JS = Platform.JavaScript
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
скрыто (в файле)
|
|
6
6
|
тип ПростоВремя = простой объект
|
|
7
7
|
{
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
скрыто (в файле)
|
|
11
11
|
тип ПростоДата = простой объект
|
|
12
12
|
{
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
скрыто (в файле)
|
|
16
16
|
тип ПростоДатаВремя = простой объект
|
|
17
17
|
{
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
скрыто (в файле)
|
|
21
21
|
тип ДатаВремяМестное = JS.Date
|
|
22
22
|
{
|
|
23
23
|
создание(метка-времени: А.МеткаВремени)
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
основа(метка-времени.миллисекунд-с-01-01-1970())
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
всеобщая функция из-текста(текст:
|
|
28
|
+
всеобщая функция из-текста(текст: А.Текст): А.ДатаВремяМестное
|
|
29
29
|
{
|
|
30
30
|
результат = JS.Date(текст) как А.ДатаВремяМестное
|
|
31
31
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
подключить А = Артель
|
|
2
|
-
подключить Platform.JavaScript
|
|
2
|
+
подключить JS = Platform.JavaScript
|
|
3
3
|
подключить ВЗ = Артель.Взаимодействие
|
|
4
4
|
|
|
5
|
-
тип Задача<Т> = Promise<Т>
|
|
5
|
+
тип Задача<Т> = JS.Promise<Т>
|
|
6
6
|
{
|
|
7
7
|
асинхронная
|
|
8
8
|
функция результат(): Т
|
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
создание(фн: А.АсинхроннаяФункция<Т>)
|
|
14
14
|
{
|
|
15
|
-
объект =
|
|
15
|
+
объект = ВЗ.подставить-родной-код<А.Задача<Т>>("фн()") как Задача<Т>
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -1,93 +1,95 @@
|
|
|
1
|
-
подключить
|
|
1
|
+
подключить А = Артель
|
|
2
|
+
подключить JS = Platform.JavaScript
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
тип Массив<Т> =
|
|
4
|
+
скрыто (в пакете)
|
|
5
|
+
тип Массив<Т> = JS.Array<Т>
|
|
5
6
|
{
|
|
6
|
-
чтение количество:
|
|
7
|
-
{ основа.length как
|
|
7
|
+
чтение количество: А.Целое
|
|
8
|
+
{ основа.length как А.Целое }
|
|
8
9
|
|
|
9
|
-
чтение [индекс:
|
|
10
|
+
чтение [индекс: А.Целое]: Т
|
|
10
11
|
{ основа[индекс] }
|
|
11
|
-
|
|
12
|
+
|
|
13
|
+
запись [индекс: А.Целое]
|
|
12
14
|
{ основа[индекс] = значение }
|
|
13
15
|
|
|
14
|
-
создание(количество`:
|
|
16
|
+
создание(количество`: А.Целое)
|
|
15
17
|
{
|
|
16
18
|
основа(количество`)
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
создание(количество`:
|
|
21
|
+
создание(количество`: А.Целое, элемент: Т)
|
|
20
22
|
{
|
|
21
23
|
основа(количество`)
|
|
22
24
|
~fill(элемент)
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
функция содержит(элемент: Т):
|
|
27
|
+
функция содержит(элемент: Т): А.ДаНет
|
|
26
28
|
{
|
|
27
29
|
вернуть основа.includes(элемент)
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
функция индекс-первого(элемент: Т):
|
|
32
|
+
функция индекс-первого(элемент: Т): А.Целое
|
|
31
33
|
{
|
|
32
|
-
вернуть основа.index-of(элемент) как
|
|
34
|
+
вернуть основа.index-of(элемент) как А.Целое
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
функция индекс-первого(элемент: Т, начало:
|
|
37
|
+
функция индекс-первого(элемент: Т, начало: А.Целое): А.Целое
|
|
36
38
|
{
|
|
37
|
-
вернуть основа.index-of(элемент, начало) как
|
|
39
|
+
вернуть основа.index-of(элемент, начало) как А.Целое
|
|
38
40
|
}
|
|
39
41
|
|
|
40
|
-
функция индекс-последнего(элемент: Т):
|
|
42
|
+
функция индекс-последнего(элемент: Т): А.Целое
|
|
41
43
|
{
|
|
42
|
-
вернуть основа.last-index-of(элемент) как
|
|
44
|
+
вернуть основа.last-index-of(элемент) как А.Целое
|
|
43
45
|
}
|
|
44
46
|
|
|
45
|
-
функция индекс-последнего(элемент: Т, конец:
|
|
47
|
+
функция индекс-последнего(элемент: Т, конец: А.Целое): А.Целое
|
|
46
48
|
{
|
|
47
|
-
вернуть основа.last-index-of(элемент, конец) как
|
|
49
|
+
вернуть основа.last-index-of(элемент, конец) как А.Целое
|
|
48
50
|
}
|
|
49
51
|
|
|
50
|
-
функция скопировать(начало:
|
|
52
|
+
функция скопировать(начало: А.Целое, количество`: А.Целое): А.Массив<Т>
|
|
51
53
|
{
|
|
52
|
-
вернуть основа.slice(начало, начало + количество`) как
|
|
54
|
+
вернуть основа.slice(начало, начало + количество`) как А.Массив<Т>
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
функция найти(предикат:
|
|
57
|
+
функция найти(предикат: А.Предикат<Т>): Т?
|
|
56
58
|
{
|
|
57
59
|
вернуть (объект как ArrayInterface<Т>).find(предикат)
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
функция найти-последний(предикат:
|
|
62
|
+
функция найти-последний(предикат: А.Предикат<Т>): Т?
|
|
61
63
|
{
|
|
62
64
|
вернуть (объект как ArrayInterface<Т>).find-last(предикат)
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
функция найти-индекс(предикат:
|
|
67
|
+
функция найти-индекс(предикат: А.Предикат<Т>): А.Целое
|
|
66
68
|
{
|
|
67
69
|
вернуть (объект как ArrayInterface<Т>).find-index(предикат)
|
|
68
70
|
}
|
|
69
71
|
|
|
70
|
-
функция найти-индекс-последнего(предикат:
|
|
72
|
+
функция найти-индекс-последнего(предикат: А.Предикат<Т>): А.Целое
|
|
71
73
|
{
|
|
72
74
|
вернуть (объект как ArrayInterface<Т>).find-last-index(предикат)
|
|
73
75
|
}
|
|
74
76
|
|
|
75
|
-
функция некоторый(предикат:
|
|
77
|
+
функция некоторый(предикат: А.Предикат<Т>): А.ДаНет
|
|
76
78
|
{
|
|
77
79
|
вернуть (объект как ArrayInterface<Т>).some(предикат)
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
функция каждый(предикат:
|
|
82
|
+
функция каждый(предикат: А.Предикат<Т>): А.ДаНет
|
|
81
83
|
{
|
|
82
84
|
вернуть (объект как ArrayInterface<Т>).every(предикат)
|
|
83
85
|
}
|
|
84
86
|
|
|
85
|
-
функция отфильтровать(предикат:
|
|
87
|
+
функция отфильтровать(предикат: А.Предикат<Т>): А.Массив<Т>
|
|
86
88
|
{
|
|
87
|
-
вернуть (объект как ArrayInterface<Т>).filter(предикат) как
|
|
89
|
+
вернуть (объект как ArrayInterface<Т>).filter(предикат) как А.Массив<Т>
|
|
88
90
|
}
|
|
89
91
|
|
|
90
|
-
функция для-каждого(действие:
|
|
92
|
+
функция для-каждого(действие: А.Действие<Т>)
|
|
91
93
|
{
|
|
92
94
|
(объект как ArrayInterface<Т>).for-each(действие)
|
|
93
95
|
}
|
|
@@ -97,82 +99,82 @@
|
|
|
97
99
|
основа.fill(элемент)
|
|
98
100
|
}
|
|
99
101
|
|
|
100
|
-
функция заполнить(элемент: Т, начало:
|
|
102
|
+
функция заполнить(элемент: Т, начало: А.Целое)
|
|
101
103
|
{
|
|
102
104
|
основа.fill(элемент, начало)
|
|
103
105
|
}
|
|
104
106
|
|
|
105
|
-
функция заполнить(элемент: Т, начало:
|
|
107
|
+
функция заполнить(элемент: Т, начало: А.Целое, количество`: А.Целое)
|
|
106
108
|
{
|
|
107
109
|
основа.fill(элемент, начало, начало + количество`)
|
|
108
110
|
}
|
|
109
111
|
|
|
110
|
-
функция заполнить(элемент: Т, начало:
|
|
112
|
+
функция заполнить(элемент: Т, начало: А.Целое, конец: А.Целое)
|
|
111
113
|
{
|
|
112
114
|
основа.fill(элемент, начало, конец)
|
|
113
115
|
}
|
|
114
116
|
|
|
115
|
-
функция отсортировать(сравнение:
|
|
117
|
+
функция отсортировать(сравнение: А.Сравнение<Т>): А.Массив<Т>
|
|
116
118
|
{
|
|
117
|
-
основа.sort(сравнение) как
|
|
119
|
+
основа.sort(сравнение) как А.Массив<Т>
|
|
118
120
|
}
|
|
119
121
|
}
|
|
120
122
|
|
|
121
|
-
|
|
122
|
-
тип ФрагментМассива<Т> = простой объект
|
|
123
|
+
скрыто (в пакете)
|
|
124
|
+
тип ФрагментМассива<Т> = простой объект А.Перебираемый<Т>
|
|
123
125
|
{
|
|
124
|
-
конст массив:
|
|
125
|
-
конст начало:
|
|
126
|
-
конст количество:
|
|
126
|
+
конст массив: А.Массив<Т>
|
|
127
|
+
конст начало: А.Целое
|
|
128
|
+
конст количество: А.Целое
|
|
127
129
|
|
|
128
|
-
чтение [индекс:
|
|
130
|
+
чтение [индекс: А.Целое]: Т
|
|
129
131
|
{ результат = массив[начало + индекс] }
|
|
130
132
|
|
|
131
|
-
чтение конец:
|
|
133
|
+
чтение конец: А.Целое
|
|
132
134
|
{ результат = начало + количество }
|
|
133
135
|
|
|
134
|
-
всеобщее конст пустой =
|
|
136
|
+
всеобщее конст пустой = А.ФрагментМассива<Т>([])
|
|
135
137
|
|
|
136
|
-
создание(массив`:
|
|
138
|
+
создание(массив`: А.Массив<Т>, начало`: А.Целое, количество`: А.Целое)
|
|
137
139
|
{
|
|
138
140
|
массив = массив`
|
|
139
141
|
начало = начало`
|
|
140
142
|
количество = количество`
|
|
141
143
|
}
|
|
142
144
|
|
|
143
|
-
создание(массив`:
|
|
145
|
+
создание(массив`: А.Массив<Т>, начало`: А.Целое = 0)
|
|
144
146
|
{
|
|
145
147
|
массив = массив`
|
|
146
148
|
начало = начало`
|
|
147
149
|
количество = массив.количество - начало`
|
|
148
150
|
}
|
|
149
151
|
|
|
150
|
-
создание(начало`:
|
|
152
|
+
создание(начало`: А.Целое, конец`: А.Целое, массив`: А.Массив<Т>)
|
|
151
153
|
{
|
|
152
154
|
массив = массив`
|
|
153
|
-
если
|
|
155
|
+
если конец` >= начало`
|
|
154
156
|
{
|
|
155
157
|
начало = начало`
|
|
156
|
-
количество =
|
|
158
|
+
количество = конец` - начало`
|
|
157
159
|
}
|
|
158
160
|
иначе
|
|
159
161
|
{
|
|
160
|
-
начало =
|
|
161
|
-
количество = начало` -
|
|
162
|
+
начало = конец`
|
|
163
|
+
количество = начало` - конец`
|
|
162
164
|
}
|
|
163
165
|
}
|
|
164
166
|
|
|
165
|
-
функция фрагмент(начало`:
|
|
167
|
+
функция фрагмент(начало`: А.Целое, количество`: А.Целое): А.ФрагментМассива<Т>
|
|
166
168
|
{
|
|
167
|
-
вернуть
|
|
169
|
+
вернуть А.ФрагментМассива<Т>(массив, начало + начало`, количество`)
|
|
168
170
|
}
|
|
169
171
|
|
|
170
|
-
функция в-массив():
|
|
172
|
+
функция в-массив(): А.Массив<Т>
|
|
171
173
|
{
|
|
172
174
|
вернуть массив.скопировать(начало, количество)
|
|
173
175
|
}
|
|
174
176
|
|
|
175
|
-
заменена функция перебор():
|
|
177
|
+
заменена функция перебор(): А.Перебор<Т>
|
|
176
178
|
{
|
|
177
179
|
пусть н = начало
|
|
178
180
|
пока н < количество
|
|
@@ -182,16 +184,17 @@
|
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
186
|
|
|
187
|
+
скрыто (в пакете)
|
|
185
188
|
тип ArrayInterface<Т> = аспект
|
|
186
189
|
{
|
|
187
|
-
функция every(predicate:
|
|
188
|
-
функция some(predicate:
|
|
190
|
+
функция every(predicate: А.Предикат<Т>): А.ДаНет
|
|
191
|
+
функция some(predicate: А.Предикат<Т>): А.ДаНет
|
|
189
192
|
|
|
190
|
-
функция find(predicate:
|
|
191
|
-
функция find-last(predicate:
|
|
192
|
-
функция find-index(predicate:
|
|
193
|
-
функция find-last-index(predicate:
|
|
193
|
+
функция find(predicate: А.Предикат<Т>): Т?
|
|
194
|
+
функция find-last(predicate: А.Предикат<Т>): Т?
|
|
195
|
+
функция find-index(predicate: А.Предикат<Т>): А.Целое
|
|
196
|
+
функция find-last-index(predicate: А.Предикат<Т>): А.Целое
|
|
194
197
|
|
|
195
|
-
функция filter(predicate:
|
|
196
|
-
функция for-each(action:
|
|
198
|
+
функция filter(predicate: А.Предикат<Т>): JS.Array<Т>
|
|
199
|
+
функция for-each(action: А.Действие<Т>)
|
|
197
200
|
}
|
|
@@ -1,41 +1,44 @@
|
|
|
1
|
-
подключить
|
|
1
|
+
подключить А = Артель
|
|
2
|
+
подключить JS = Platform.JavaScript
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
тип Матрица<Т> = объект
|
|
4
|
+
скрыто (в пакете)
|
|
5
|
+
тип Матрица<Т> = объект А.МатрицаЧитаемая<Т>, А.Перебираемый<Т>
|
|
5
6
|
{
|
|
6
|
-
скрыто
|
|
7
|
-
|
|
8
|
-
{ массив.length как Целое }
|
|
7
|
+
скрыто (в типе)
|
|
8
|
+
массив: JS.Array<Т>
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
чтение количество: А.Целое
|
|
11
|
+
{ массив.length как А.Целое }
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
конст высота: А.Целое
|
|
14
|
+
конст ширина: А.Целое
|
|
15
|
+
|
|
16
|
+
чтение [строка: А.Целое, столбец: А.Целое]: Т
|
|
14
17
|
{ массив[строка * ширина + столбец] }
|
|
15
18
|
|
|
16
|
-
запись [строка:
|
|
19
|
+
запись [строка: А.Целое, столбец: А.Целое]
|
|
17
20
|
{ массив[строка * ширина + столбец] = значение }
|
|
18
21
|
|
|
19
|
-
создание(высота`:
|
|
22
|
+
создание(высота`: А.Целое, ширина`: А.Целое)
|
|
20
23
|
{
|
|
21
24
|
высота = высота`
|
|
22
25
|
ширина = ширина`
|
|
23
|
-
массив =
|
|
26
|
+
массив = JS.Array<Т>(высота` * ширина`)
|
|
24
27
|
}
|
|
25
28
|
|
|
26
|
-
создание(высота`:
|
|
29
|
+
создание(высота`: А.Целое, ширина`: А.Целое, элемент: Т)
|
|
27
30
|
{
|
|
28
31
|
высота = высота`
|
|
29
32
|
ширина = ширина`
|
|
30
|
-
массив =
|
|
33
|
+
массив = JS.Array<Т>(высота` * ширина`)
|
|
31
34
|
массив.fill(элемент)
|
|
32
35
|
}
|
|
33
36
|
|
|
34
|
-
создание(высота`:
|
|
37
|
+
создание(высота`: А.Целое, ширина`: А.Целое, элементы: А.Массив<Т>)
|
|
35
38
|
{
|
|
36
39
|
высота = высота`
|
|
37
40
|
ширина = ширина`
|
|
38
|
-
массив =
|
|
41
|
+
массив = JS.Array<Т>(высота` * ширина`)
|
|
39
42
|
пусть начальный-индекс = 0
|
|
40
43
|
пока начальный-индекс < массив.length
|
|
41
44
|
{
|
|
@@ -51,7 +54,7 @@
|
|
|
51
54
|
}
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
функция содержит(элемент: Т):
|
|
57
|
+
функция содержит(элемент: Т): А.ДаНет
|
|
55
58
|
{
|
|
56
59
|
вернуть массив.includes(элемент)
|
|
57
60
|
}
|
|
@@ -61,17 +64,17 @@
|
|
|
61
64
|
массив.fill(элемент)
|
|
62
65
|
}
|
|
63
66
|
|
|
64
|
-
заменена функция перебор():
|
|
67
|
+
заменена функция перебор(): А.Перебор<Т>
|
|
65
68
|
{
|
|
66
69
|
вернуть массив.перебор()
|
|
67
70
|
}
|
|
68
71
|
|
|
69
|
-
функция элементы-строки(строка:
|
|
72
|
+
функция элементы-строки(строка: А.Целое): А.Перебираемый<Т>
|
|
70
73
|
{
|
|
71
74
|
если строка < высота
|
|
72
75
|
{
|
|
73
76
|
пусть смещение = строка * ширина
|
|
74
|
-
пусть
|
|
77
|
+
пусть столбец = 0
|
|
75
78
|
пока столбец < ширина
|
|
76
79
|
{
|
|
77
80
|
выдать массив[смещение + столбец]
|
|
@@ -80,11 +83,11 @@
|
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
85
|
|
|
83
|
-
функция элементы-столбца(столбец:
|
|
86
|
+
функция элементы-столбца(столбец: А.Целое): А.Перебираемый<Т>
|
|
84
87
|
{
|
|
85
88
|
если столбец < ширина
|
|
86
89
|
{
|
|
87
|
-
пусть
|
|
90
|
+
пусть строка = 0
|
|
88
91
|
пока строка < высота
|
|
89
92
|
{
|
|
90
93
|
выдать массив[строка * ширина + столбец]
|
|
@@ -93,9 +96,9 @@
|
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
|
|
96
|
-
функция строки():
|
|
99
|
+
функция строки(): А.Перебираемый<А.Перебираемый<Т>>
|
|
97
100
|
{
|
|
98
|
-
пусть
|
|
101
|
+
пусть строка = 0
|
|
99
102
|
пока строка < высота
|
|
100
103
|
{
|
|
101
104
|
выдать элементы-строки(строка)
|