不能将 Ruby 数学库与 Opal 一起使用
Cannot use Ruby Math library with Opal
有没有办法在Opal中使用Ruby Math库?
在我的 ruby 方法中使用 Math::PI
时,我Uncaught NameError: uninitialized constant Object::Math
收到以下错误消息。
红宝石代码:
class Numeric
def degrees
self * Math::PI / 180
end
end
由Opal生成的javascript:
/* Generated by Opal 0.6.3 */
(function($opal) {
var self = $opal.top, $scope = $opal, nil = $opal.nil, $breaker = $opal.breaker, $slice = $opal.slice, $klass = $opal.klass;
$opal.add_stubs(['$/', '$*']);
return (function($base, $super) {
function $Numeric(){};
var self = $Numeric = $klass($base, $super, 'Numeric', $Numeric);
var def = self._proto, $scope = self._scope;
return (def.$degrees = function() {
var $a, $b, self = this;
return self['$*']((($a = ((($b = $scope.Math) == null ? $opal.cm('Math') : $b))._scope).PI == null ? $a.cm('PI') : $a.PI))['$/'](180);
}, nil) && 'degrees'
})(self, null)
})(Opal);
//# sourceMappingURL=/__opal_source_maps__/game_engine/numeric.js.map
;
谢谢;)
Math
模块位于 Opal 的stdlib
中,不包含在默认运行时中(据我所知)。
根据您的部署上下文,最简单的方法是将Math
模块 ( Opal::Builder.build('math')
) build
到文件中。
但是,对于您的特定示例,您可以只使用 JS PI 近似值(无论如何,这就是 Opal Math::PI
所做的一切):
class Numeric
def degrees
self * `Math.PI` / 180
end
end
相关文章:
- 转义符不能与innerHTML一起使用
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何将js库与typescript一起使用
- 将webpack和babel与父项目目录中的文件一起使用
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 将两个ext.TabPanels滚动到一起
- 将jQuery UI Timepicker Addon与React一起使用
- 什么是curl以及如何将其与nodejs一起使用
- Javascript”;onmousemove”;事件无法与类一起使用
- 将require('..')与变量一起使用与在webpack中使用字符串相比
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- 为什么不't我的ruby代码与javascript文件一起插入
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- 如何将eventListeners与Angularjs+Electron一起使用
- 不能将 Ruby 数学库与 Opal 一起使用