Инструменты пользователя

Инструменты сайта


help:coding

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:coding [2024/10/14 09:08]
aleks_versus проба обновления до 5.9.0
help:coding [2025/10/03 11:43] (текущий)
aleks_versus [Порядок записи команд]
Строка 33: Строка 33:
 </​sxh>​ </​sxh>​
  
-В качестве значений ''​%%[значение 1]%%'',​ ''​%%[значение 2]%%'',​ … ,''​%%[значение 20]%%''​ могут выступать строковые или числовые константы,​ переменные,​ значения функций,​ или целые выражения,​ а число таких значений зависит от назначения оператора. Например,​ для оператора ''​%%*PL%%''​ может быть указано лишь одно значение,​ а для оператора ''​%%ADDOBJ%%''​ от одного до трёх таких значений. Сами значения перечисляются через запятую.+В качестве значений ''​%%[значение 1]%%'',​ ''​%%[значение 2]%%'',​ … ,''​%%[значение 20]%%''​ могут выступать строковые или числовые константы, кортежи, переменные,​ значения функций,​ или целые выражения,​ а число таких значений зависит от назначения оператора. Например,​ для оператора ''​%%*PL%%''​ может быть указано лишь одно значение,​ а для оператора ''​%%ADDOBJ%%''​ от одного до трёх таких значений. Сами значения перечисляются через запятую.
  
 <sxh qsp> <sxh qsp>
Строка 117: Строка 117:
 на две строки кода, но при выводе видеть одну строку"​ на две строки кода, но при выводе видеть одну строку"​
 </​sxh>​ </​sxh>​
 +  * В квадратных и круглых скобках допустимы переносы строк для улучшения читаемости кода. Примеры:​ <sxh qsp> 
 +%test = [ 
 +    [ '​key1',​ '​value1'​ ], 
 +    [ '​key2',​ '​value2'​ ], 
 +    [ '​key3',​ '​value3'​ ], 
 +
 +max( 
 +    '​val1',​ 
 +    '​val2',​ 
 +    '​val3',​ 
 +    '​val4'​ 
 +
 +pl (a + 
 +        (b * 2) - 
 +        (c + 2) 
 +    ) * 2 
 +$arr[ 
 +    '​key1',​ 
 +    '​key2',​ 
 +    $key3 
 +] = '​value'​ 
 +pl $arr['​key1',​ 
 +        '​key2',​ 
 +        $key3] 
 +if ($color = "​жёлтый"​ or 
 +$color = "​красный"​ or 
 +$color = "​зелёный"​):​ "​По-прежнему однострочное условие."​ 
 +</​sxh>​
 ===== Комментарии ===== ===== Комментарии =====
  
Строка 202: Строка 229:
 *pl ['​это кортеж',​ '​если он ', "не присвоен переменной",​ "​его можно считать константой"​] *pl ['​это кортеж',​ '​если он ', "не присвоен переменной",​ "​его можно считать константой"​]
 </​sxh>​ </​sxh>​
 +
 +См. также [[howto:​namedconst|"​Именованные константы"​]].
  
 ===== Операторы и функции ===== ===== Операторы и функции =====
Строка 250: Строка 279:
 $QSPVER('​platform'​) $QSPVER('​platform'​)
 </​sxh>​ </​sxh>​
-  * ''​%%$CURLOC%%''​ - возвращает название текущей локации. 
  
 ==== Математические функции ==== ==== Математические функции ====
  
-  * ''​%%RAND([#​выр1],​[#​выр2])%%''​ - возвращает случайное число между числами [#выр] и [#выр2]. Параметр [#выр2] может отсутствовать,​ при этом он принимается равным единице (**1**). Примеры:​ <sxh qsp>+  * ''​RAND([#​выр1],​[#​выр2],​[#​мода])''​ - возвращает случайное число между числами ​''​[#выр]'' ​и ''​[#выр2]''​. 
 +    * Параметр ​''​[#​мода]''​ позволяет указать число, которое должно выпадать более часто, чем остальные. При этом распределение частоты выпадения будет плавно изменяться для всех остальных чисел. Подробнее о распределении читайте в статье [[howto:​randomize|Третий параметр RAND]]. 
 +    * Если 3й параметр не указан,​ то функция возвращает случайное число в заданном диапазоне с равномерным/​равновероятным распределением чисел. 
 +    * Параметр ''​[#выр2]'' ​может отсутствовать,​ при этом он принимается равным единице (**''​1''​**). 
 +    * Примеры:​ <sxh qsp>
 RAND(1,4) & ! вернёт случайное значение от 1 до 4 RAND(1,4) & ! вернёт случайное значение от 1 до 4
 RAND(4,1) & ! вернёт случайное значение от 1 до 4 RAND(4,1) & ! вернёт случайное значение от 1 до 4
 RAND(1000) & ! вернёт случайное значение от 1 до 1000 RAND(1000) & ! вернёт случайное значение от 1 до 1000
 RAND 1000 & ! вернёт случайное значение от 1 до 1000 RAND 1000 & ! вернёт случайное значение от 1 до 1000
 +
 +x = RAND(1, 1000, 500) & ! чаще будет выпадать 500
 +x = RAND(1, 1000, 1) & ! чаще будет выпадать 1
 +x = RAND(1, 1000, 1000) & ! чаще будет выпадать 1000
 +x = RAND(-1000, 0, -500) & ! чаще будет выпадать -500
 +x = RAND(1, 1000, 5000) & ! чаще будет выпадать 1000
 +x = RAND(-1000, -100, -5000) & ! чаще будет выпадать -1000
 </​sxh>​ </​sxh>​
-  * ''​%%RND%%''​ - возвращает случайное значение от 1 до 1000. +  * ''​RND''​ - возвращает случайное значение от 1 до 1000. 
-  * ''​%%MAX([выр1],​[выр2], ​)%%''​ - возвращает максимальное из значений выражений-аргументов. Если передан один аргумент,​ то считается,​ что указано имя массива:​ <sxh qsp>+  * ''​MAX([выр1],​[выр2], ​...)''​ - возвращает максимальное из значений выражений-аргументов. Если передан один аргумент,​ то считается,​ что указано имя массива:​ <sxh qsp>
 MAX(1,​2,​5,​2,​0) &! вернёт 5 MAX(1,​2,​5,​2,​0) &! вернёт 5
 MAX(a,b,c) &! вернёт максимальное из значений переменных a,b,c MAX(a,b,c) &! вернёт максимальное из значений переменных a,b,c
help/coding.1728896893.txt.gz · Последние изменения: 2024/10/14 09:08 — aleks_versus