Как заменить отсутствующие переменные из области видимости значениями по умолчанию? - PullRequest
1 голос
/ 08 мая 2019

Я использую mathjs для вычисления некоторых выражений из данных JSON.Я называю eval, где я передаю данные JSON как область видимости.Я могу использовать пути JSON в сценарии mathjs, например user1.age> user2.age.Но когда эти пути не содержатся в JSON, mathjs выдает ошибку.

Если символ нулевой, я легко могу проверить его в скрипте mathjs.Но если он не определен, я не могу этого сделать, потому что mathjs выдает ошибку, вместо того, чтобы оценивать ее как неопределенную.

left == null ? right : left

Этот скрипт оценивается в 42 для следующего ввода -

{
  "left": null,
  "right": 42
}

Но выдает ошибку «Ошибка: Остался неопределенный символ» для этого -

{
  "right": 42
}

Попытка просмотреть дерево выражений, добавить все недостающие символы в данные JSON и передать его в eval позже.https://mathjs.org/examples/advanced/expression_trees.js.html Но есть ли лучший способ для обработки пользовательских символов?

...