Поле формулы - все о синтаксисе и операторах
О создании своего первого поля формулы Calculoid? Взгляните на это сообщение, чтобы познакомиться с синтаксисом Calculoid и операторами.
Синтаксис выражения
Парсер принимает довольно основную грамматику. Операторы имеют нормальную точность - f (x, y, z) (вызовы функций), ^ (экспоненциальность), *, / и% (умножение, деление и остаток) и, наконец, +, - и || (сложение, вычитание и конкатенация строк) - и связывать слева направо (да, даже возведение в степень ... это проще).
Существует также оператор «,» (запятая), который объединяет значения в массив. Это в основном полезно для передачи аргументов в функции, так как это не всегда ведет себя так, как вы думаете о многомерных массивах. Если левое значение является массивом, оно подталкивает правильное значение в конец массива, в противном случае создается новый массив «[left, right]». Это делает невозможным создание массива с другим массивом, поскольку это первый элемент.
Внутри первого аргумента функции if можно использовать эти операторы для сравнения выражений:
==
равным!=
Не равный>
Больше>=
Больше или равно<
Менее<=
Меньше или равноand
Логический оператор Иor
Логический оператор OR
Пример функции if: if(1 and 2 <= 4, 2, 0) + 2
= 4
Операторы функций
Парсер имеет несколько встроенных «функций», которые фактически являются операторами. Единственное отличие от внешней точки зрения состоит в том, что их нельзя вызывать с несколькими аргументами, и они оцениваются методом упрощения, если их аргументы постоянны.
sin(x)
Синус x (x находится в радианах)cos(x)
Косинус x (x находится в радианах)tan(x)
Касательная часть x (x ... ну, вы знаете)asin(x)
Аргумент синуса x (в радианах)acos(x)
Косинус дуги x (в радианах)atan(x)
Аргумент касания х (в радианах)sqrt(x)
Квадратный корень из x. Результат - NaN (не число), если x отрицательно.log(x)
Естественный логарифм x (не base-10). Это журнал вместо ln, потому что это то, что JavaScript называет.abs(x)
Абсолютное значение (magnatude) xceil(x)
Потолок x - наименьшее целое число> = x.floor(x)
Этаж x - наибольшее целое число, которое <= xround(x, n))
X, округленный до ближайшего целого числа или до десяти знаков после запятой, используя «gradeschool rounding».exp(x)
ex (экспоненциальная / антилогарифмическая функция с базой e)random(n)
Получите случайное число в диапазоне [0, n). Если n равно нулю или не предоставляется, по умолчанию используется 1.fac(n)
п! (factorial of n: "n * (n-1) * (n-2) * ... * 2 * 1")min(a,b,…)
Получите наименьший («минимальный») номер в спискеmax(a,b,…)
Получите самый большой («максимальный») номер в спискеpyt(a, b)
Pythagorean, то есть c в "c2 = a2 + b2"pow(x, y)
ху. Это точно так же, как «x ^ y». Это просто предусмотрено, поскольку он находится в объекте Math из JavaScriptatan2(y, x)
дуговым касанием x / yy угла между (0, 0) и (x, y) в радианах.if(c, a, b)
Функция условия, где c - условие, a - результат, если c истинно, b - результат, если c - falselen(n)
Длина символа nie len (123) = 3- todayDate () Возвращает сегодняшнюю дату в стандартном формате.
- newDate (год, месяц, дни) Дата возврата в стандартном формате на основе параметров год, месяц, дни.
- dateFormat (date, format) Возвращает дату в произвольном формате или в формате абсолютной даты (в миллисекундах). Различные форматы можно найти: https://docs.angularjs.org/api/ng/filter/date.
- getTime (date) Возвращает дату в абсолютном формате даты (в миллисекундах).
- dateAdd (date, type, value) Добавляет значение к дате. Типы: https://docs.angularjs.org/api/ng/filter/date, Возвращает результат в абсолютном формате даты. Может использоваться с dateFormat (dateAdd (date, type, value), 'dd.MM.yyyy').
- dateDeduct (дата, тип, значение) Принимает значение даты. Типы: https://docs.angularjs.org/api/ng/filter/date, Возвращает результат в абсолютном формате даты. Может использоваться с dateFormat (dateAdd (date, type, value), 'dd.MM.yyyy').