我有一个mathjs
的自定义包,看起来像这样:
var core = require('mathjs/core');
var math = core.create();
math.import(require('mathjs/lib/type'));
math.import(require('mathjs/lib/function/arithmetic'));
math.import(require('mathjs/lib/function/trigonometry'));
math.import(require('mathjs/lib/expression'));
,然后导出。如果我然后尝试math.eval('pi')
,我得到一个异常:
Exception: Error: Undefined symbol pi
如果我导入整个mathjs
库,我不会看到这个错误,但是,这样反而违背了小定制包的目的。
问题:什么是最小的导入,使math.eval('pi')
返回3.14…?
var core = require('mathjs/core');
var math = core.create();
math.import(require('mathjs/lib/type'));
math.import(require('mathjs/lib/expression'));
math.import(require('mathjs/lib/constants'));
console.log(math.eval('pi')) // 3.141592653589793
参见mathjs的github库中的constants模块。
PI的值取自标准的内置Javascript对象Math。看到这个。