У mathjs есть какое-либо понятие нулевого или неопределенного? - PullRequest
0 голосов
/ 26 апреля 2018

Я думаю, что ответ, вероятно, «нет», поскольку из того, что я могу сказать, математические библиотеки, кажется, не обрабатывают нуль, но то, что я хотел бы, чтобы было, - это обрабатывать ноль в этих сценариях.:

x=1
(y not defined)
z = sum(x, y)

с eval () в идеале дает:

z=1

Однако это вызывает исключение, так как у не определено.

В действительности яв этом примере значение по умолчанию 'y' равно нулю, и это не сработает во всех сценариях.

Итак, я предполагаю, что есть встроенный способ определения значения по умолчанию дляпеременная, если ей не присвоено значение?

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

Спасибо: -).

1 Ответ

0 голосов
/ 26 апреля 2018

Хорошо - я просматривал заметки о выпуске для v4 и видел, что в нем говорилось о константах 'null, undefined' (и других).Итак, чтобы решить эту проблему, я должен определить переменную как неопределенную (вероятно, должен был знать это!).

(Примечание: я подозреваю, что эти константы также доступны в предыдущей версии.)

Затем в сочетании с пользовательской функцией «по умолчанию» я могу получить то, что хотел:

x=1
y = null 
z = sum(x, def(y, 0))
z=1

, где «def» определено и импортировано, как показано ниже (с использованием «lodash»):

var customFunctions = {
  def: function (value, defaultValue) {
    return !_.isNil(value) ? value : defaultValue;
  }
};
math.import(customFunctions);

БОШ!

...