| Статьи | - Математические выражения в Hion |
Математические выражения в Hion
Описание
В стандартном пакете элемент MathParse фактически представляет из себя небольшой кусочек скрипта на языке Javascript, который возвращает какое-то значение и работает в контексте одного элемента. За счет этого синтаксис выражений позволяет использовать многие конструкции языка наравне с функциями из окружения самого элемента. Однако вставлять любой код тут не получится, поэтому если в этом есть необходимость, то лучше использовать элемент Script.
PS: более подробно о работе операторов или функций можно узнать из любого справочника по языку Javascript.
PS: более подробно о работе операторов или функций можно узнать из любого справочника по языку Javascript.
Аргументы
Доступ к аргументам элемента может быть осуществлен двумя способами:
1) по имени точки с использование знака "$", например $X1, $array.
2) по номеру точку с использование знака "%", например %1, %3 (этот способ не рекомендуется)
При этом доступ к текущему значению элемента в первом случае можно получить через переменную $result, а во втором через нулевой индекс %0.
1) по имени точки с использование знака "$", например $X1, $array.
2) по номеру точку с использование знака "%", например %1, %3 (этот способ не рекомендуется)
При этом доступ к текущему значению элемента в первом случае можно получить через переменную $result, а во втором через нулевой индекс %0.
Операторы
Доступны следующие операторы для использования в выражении:
Арифметические операторы: +, -, *, /, %, ++, --
Запятая: ,
Логические операторы: &&, ||, !
Операторы присваивания: =, +=, -=, *=, /=, >>=, <<=, >>>=, &=, |=, ^=
Операторы сравнения: ==, !=, ===, !==, >, >=, <, <=
Побитовые операторы: &, |, ^, ~, <<, >>, >>>
Условный оператор: (выражение) ? (вернуть если истинно) : (вернуть если ложно)
Примеры:
Арифметические операторы: +, -, *, /, %, ++, --
Запятая: ,
Логические операторы: &&, ||, !
Операторы присваивания: =, +=, -=, *=, /=, >>=, <<=, >>>=, &=, |=, ^=
Операторы сравнения: ==, !=, ===, !==, >, >=, <, <=
Побитовые операторы: &, |, ^, ~, <<, >>, >>>
Условный оператор: (выражение) ? (вернуть если истинно) : (вернуть если ложно)
Примеры:
$X1 + $X2
$X1 ? $X2 : 0
$X1 >> 2
$X1 | $X2 | $X3
Функции
Все следующие ф-ции берутся из стандартного объекта Math языка: acos,asin,atan,atan2,exp,min,random,sqrt,log,round,floor,ceil,sin,cos,tan,pow,max,abs.
Функция point доступна только из контекста элемента MathParse и позволяет создать объект по двум координатам X и Y аналогичный тому, что возвращает элемент PointXY.
Примеры:
Функция point доступна только из контекста элемента MathParse и позволяет создать объект по двум координатам X и Y аналогичный тому, что возвращает элемент PointXY.
Примеры:
min($X1, $X2)
cos($X1)
point($X, $Y)
Константы
Константы так же как и ф-ции берутся из стандартного объекта Math: E,LN2,LOG2E,LOG10E,PI,SQRT12,SQRT2,LN10.
Примеры:
Примеры:
E*10
cos($X1/180*PI)
Глобальные переменные
В выражении можно непосредственно использовать глобальные переменные с использованием символа "_" перед ее именем.
Примеры:
Примеры:
_myGlobalVar + 10
cos(_angle/180*PI*_k)
Массивы
Все операции с массивами делаются с использованием символов [] и позволяют читать элементы массива, изменять их или создавать новые массивы.
Примеры:
Поясняющий пример к этой статье можно найти по адресу /examples/Tabs/Tools/MathParse.sha.
Примеры:
$array[0] + 10 // читаем первый элемент массива
$matrix[0][1] * 2 // читаем вторую колонку первой строки в матрице
$array[1] = $array[0] + 20 // устанавливаем значение второго элемента массива равному значению первого элемента плюс 20
[$x * 4, $y * 4] // создаем массив из двух элементов
Поясняющий пример к этой статье можно найти по адресу /examples/Tabs/Tools/MathParse.sha.
BB-code статьи для вставки