gpt4 book ai didi

Javascript 端口 var 测试 = { a : Infinity }

转载 作者:行者123 更新时间:2023-11-28 07:03:19 25 4
gpt4 key购买 nike

我正在将一些 Javascript 代码移植到 Swift 中,我希望在一些速记代码方面得到一些帮助。我熟悉大多数代码,但我发现简写真的很难阅读。

在一个函数中,变量定义为

var test = { a: Infinity };

在另一个函数中,变量作为速记比较的一部分返回:

return {a: b}

谁能解释这段代码?

这是我正在移植的代码(光线转换):

Map.prototype.cast = function(point, angle, range) {
var self = this;
var sin = Math.sin(angle);
var cos = Math.cos(angle);
var noWall = { length2: Infinity };

return ray({ x: point.x, y: point.y, height: 0, distance: 0 });

function ray(origin) {
var stepX = step(sin, cos, origin.x, origin.y);
var stepY = step(cos, sin, origin.y, origin.x, true);
var nextStep = stepX.length2 < stepY.length2 ? inspect(stepX, 1, 0, origin.distance, stepX.y) : inspect(stepY, 0, 1, origin.distance, stepY.x);

if (nextStep.distance > range) return [origin];
return [origin].concat(ray(nextStep));
}


function step(rise, run, x, y, inverted) {
if (run === 0) return noWall;
var dx = run > 0 ? Math.floor(x + 1) - x : Math.ceil(x - 1) - x;
var dy = dx * (rise / run);
return { x: inverted ? y + dy : x + dx, y: inverted ? x + dx : y + dy, length2: dx * dx + dy * dy };
}

我感到困惑的部分是:

var noWall = { length2: Infinity };
and
length2: dx * dx + dy * dy

这些有什么作用?

谢谢

格雷格

最佳答案

此代码是 JavaScript 中的语法错误:

return test: b

我猜你的代码不打算通过标准的 JavaScript 编译器运行,“测试”部分可能与某种单元测试系统有关。

如果可以的话,请与更熟悉代码的人仔细核实,否则就将其用作您的 Swift 代码:

return b

关于Javascript 端口 var 测试 = { a : Infinity },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31495396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com