Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion blog/2024-08-15-docs-add-chapters-of-keywords-etc.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,6 @@ tags:
`../language/qsp-keywords/qsp-keywords-functions.md`
:::note[Потому что:]
Докузаурус опускает расширение `.md` в ссылках и таким образом в процессе работы ссылки поддерживаются и в обсидиане и в докузаурусе. После сборки ссылки во всех статьях приобретают вид валидный для докузауруса, но невалидный для Обсидиана.
`https://dev.qsp.org/docs/language/qsp-keywords/qsp-keyword-operators`
`https://dev.qsp.org/docs/language/qsp-keywords/qsp-keywords-statements`
:::
- Необходимо смириться с тем, что обсидиан не поддерживает те же якоря заголовков, что и докузаурус, из-за чего сослаться на заголовок в обсидиане так же как в докузаурусе невозможно. Это не мешает обсидиану поддерживать такие ссылки при изменении местоположения статей и разделов.
344 changes: 172 additions & 172 deletions docs/language/qsp-keywords/index.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ dyneval("code = 123 + 890")
code
```

См. также [оператор `DYNAMIC`](qsp-keyword-operators.md#dynamic).
См. также [оператор `DYNAMIC`](qsp-keywords-statements.md#dynamic).

## `$FUNC`

Expand Down Expand Up @@ -211,7 +211,7 @@ $name_loc = "summ"
*pl func($name_loc, 23) & ! выведет на экран 276
```

Также см. ["Неявный вызов функции `FUNC`"](qsp-keyword-syntaxems.md#%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB-%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D1%80%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D1%8D%D1%82-).
Также см. ["Неявный вызов функции `FUNC`"](qsp-keywords-syntaxems.md#%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB-%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D1%80%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D1%8D%D1%82-).

## `$GETOBJ`

Expand Down Expand Up @@ -526,7 +526,7 @@ $qspver('platform')
$REPLACE([$строка], [$поиск], [$замена], [#число_замен])
```

Данная функция заменяет в строке `[$строка]` несколько вхождений строки `[$поиск]` строкой `[$замена]` и возвращает результат. Замена производится слева-направо и только для непересекающихся вхождений. Параметр `[#число_замен]` показывает, сколько вхождений должно быть заменено. Если параметр не указан, производится замена всех вхождений. Если `[$замена]` отсутствует или указана пустая строка, то удаляет в исходной строке все вхождения искомой строки. Примеры:
Данная функция заменяет в строке `[$строка]` несколько вхождений строки `[$поиск]` строкой `[$замена]` и возвращает результат. Замена производится слева-направо и только для непересекающихся вхождений. Параметр `[#число_замен]` показывает, сколько вхождений должно быть заменено. Если параметр не указан, производится замена всех вхождений. Если `[$замена]` отсутствует или указана пустая строка, то удаляет в исходной строке все вхождения искомой строки. Примеры:

```qsp
$replace('test', '12', '4') & ! выведет на экран 'test'
Expand Down Expand Up @@ -563,13 +563,13 @@ act "Съесть яблоко":
end
```

Так же смотрите примеры использования в разделе [`$onactsel`](qsp-keyword-sys-var.md#onactsel)
Так же смотрите примеры использования в разделе [`$onactsel`](qsp-keywords-sys-var.md#onactsel)

## `$SELOBJ`

`$SELOBJ` — возвращает название выделенного предмета в любом месте игры. Выделение предмета происходит в момент нажатия (щелчка мышью по предмету) и не снимается до применения команды `unselect`.

Пример использования можно посмотреть в разделе [`$onobjsel`](qsp-keyword-sys-var.md#onobjsel)
Пример использования можно посмотреть в разделе [`$onobjsel`](qsp-keywords-sys-var.md#onobjsel)

## `$STATTXT`

Expand Down Expand Up @@ -718,7 +718,7 @@ $ucase('Я хочу на вас орать.') & ! вернёт 'Я ХОЧУ НА
act "Что я написал?": pl 'Я написал: "<<$user_text>>".'
```

Более распространённый пример представлен в разделе [`$usercom`](qsp-keyword-sys-var.md#usercom).
Более распространённый пример представлен в разделе [`$usercom`](qsp-keywords-sys-var.md#usercom).

## ARRCOMP

Expand All @@ -731,7 +731,7 @@ ARRCOMP([$имя_массива], [$шаблон], [#начало])
, где `[#начало]` — номер элемента массива, с которого следует начать поиск, `[$имя_массива]` — название массива, по которому нужно произвести поиск, `[$шаблон]` — регулярное выражение, с которым будет сравниваться искомый элемент.

- Параметр `[#начало]` может отсутствовать, при этом его значение принимается равным 0.
- Поиск работает только по текстовым массивам (символ `$` в названии массива можно опустить).
- Поиск работает только по текстовым массивам (символ `$` в названии массива можно опустить).

Для примера возьмём вот такой массив:

Expand Down Expand Up @@ -927,6 +927,7 @@ ARRPOS([#начало], [$имя_массива], [$шаблон])
## ARRTYPE

`ARRTYPE` — возвращает тип значения, хранящегося в переменной, или указанной ячейке массива. Тип возвращается в виде одного из следующих значений:

- `''` (пустая строка) — значение не определено (например, для неинициализированных переменных);
- `'#'` — переменная содержит число;
- `'$'` — переменная содержит строку;
Expand Down Expand Up @@ -966,7 +967,7 @@ ARRSIZE([$имя_массива])

, где `[$имя_массива]` — название массива, размер которого хотим получить.

Не имеет значения, указываете ли вы **`$`** перед названием массива или нет. Подсчитывается общее число ячеек и со строковыми, и с числовыми значениями. Для примера:
Не имеет значения, указываете ли вы **`$`** перед названием массива или нет. Подсчитывается общее число ячеек и со строковыми, и с числовыми значениями. Для примера:

```qsp
n = ARRSIZE('a')
Expand Down Expand Up @@ -1121,7 +1122,7 @@ RAND([#выражение 1], [#выражение 2], [#мода])

, где `[#выражение 1]` и `[#выражение 2]` — два любых числа или числовых выражения.

Параметр `[#мода]` позволяет указать число, которое должно выпадать более часто, чем остальные. При этом распределение частоты выпадения будет плавно изменяться для всех остальных чисел, уменьшаясь от моды к пределам выбранного интервала. Если 3й параметр не указан, то функция возвращает случайное число в заданном диапазоне с равномерным/равновероятным распределением чисел.
Параметр `[#мода]` позволяет указать число, которое должно выпадать более часто, чем остальные. При этом распределение частоты выпадения будет плавно изменяться для всех остальных чисел, уменьшаясь от моды к пределам выбранного интервала. Если 3й параметр не указан, то функция возвращает случайное число в заданном диапазоне с равномерным/равновероятным распределением чисел.

Параметр `[#выражение 2]` может отсутствовать, при этом он принимается равным `1`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ number *= [4,5] & ! ошибка о несоответствии типов да
37+100 & ! вернёт 137
```

При "суммировании" строковых значений производится [конкатенация](qsp-keyword-operacion.md#-конкатенация), то есть "склеивание" строк:
При "суммировании" строковых значений производится [конкатенация](qsp-keywords-operators.md#-конкатенация), то есть "склеивание" строк:

```qsp
! на экран будет выведена строка "2627"
Expand Down Expand Up @@ -283,7 +283,7 @@ warrior = warrior + 15
warrior += 15
```

Возможно так же проводить инкремент со строковыми значениями, работает как [конкатенация](qsp-keyword-operacion.md#-конкатенация):
Возможно так же проводить инкремент со строковыми значениями, работает как [конкатенация](qsp-keywords-operators.md#-конкатенация):

```qsp
$text += " (может быть тут что-то написано)"
Expand Down Expand Up @@ -1088,7 +1088,7 @@ no [выражение_1] = [выражение_2]
:::

:::tip
Не рекомендуется использовать данную операцию для объединения строк, поскольку строки можно объединять через [`+`](qsp-keyword-operacion.md#-сложение):
Не рекомендуется использовать данную операцию для объединения строк, поскольку строки можно объединять через [`+`](qsp-keywords-operators.md#-сложение):

```qsp
! на экран будет выведена строка "2627"
Expand Down
Loading