Каков приоритет оператора в OpenSCAD?
В разделе Руководства пользователя OpenSCAD, посвященном операторам, не упоминается приоритет. Быстрый поиск в Интернете ничего не нашел. Я предполагаю, что обычный порядок возведения в степень, затем умножения, затем сложения выполняется, но как, например, условный оператор или унарный минус взаимодействуют с ними? Существует ли официальный документ, описывающий приоритет операторов в OpenSCAD?
@user31389, 👍5
Обсуждение1 ответ
Лучший ответ:
▲ 6
В выражениях OpenSCAD порядок приоритета таков:
| Операторы | Описание |
|---|---|
| () [] | группа, вектор или диапазон |
| () [] . | вызов функции, индексация, поиск членов |
| ^ | возведение в степень |
| ! + - | унарные операции |
| * / % | умножение |
| + - | сложение |
| < <= >= > | заказ |
| == != | равенство |
| && | логично И |
| || | логично ИЛИ |
| ?: function() let() assert() echo() | тернарный оператор и унарные псевдооператоры |
Битовых операторов не существует, и ни запятая, ни "=" не являются операторами.
Источник: openscad/src/parser.y
,
@Curt
Смотрите также:
- OpenSCAD linear_extrude из многопутевого импорта svg
- Существует ли простой способ разделения моделей в OpenSCAD?
- .STEP/.F3D to .Файл SCAD?
- Может ли в OpenSCAD сгибать текст (проецировать его на изогнутую поверхность)?
- OpenSCAD "not valid 2-manifold" полезная информация
- Создание "куска пирога" в OpenSCAD?
- Как указать начало вращения в openscad
- Рендер OpenSCAD (F6) завершается ошибкой "ERROR: CGAL error in CGAL_Nef_polyhedron3()"
Я не уверен, что это задокументировано, но я думаю, что в основном они следуют прецеденту C или C++ для приоритета., @R.. GitHub STOP HELPING ICE
Если вы не уверены, используйте круглые скобки для принудительного приоритета., @0scar
@0scar Это то, что я делаю, но было бы неплохо знать., @user31389