处理:代码停止工作而不对其进行任何更改

Processing: Code stops working without making any changes to it

所以我已经 运行 使用 Processing(p5.js 模式)几次解决这个问题,似乎出乎意料的是它不想编译。

错误显示:"SyntaxError: Expected ; but found [name of my first variable]"

我可以从字面上复制代码并将其粘贴到新的处理草图中,它 运行s。真烦人,我不得不那样做。

我这次在它停止工作之前做的最后一件事是重命名草图。我不记得其他时候我是否遇到过这个问题,但我敢打赌,如果是这样的话,我会意识到这一点。

任何关于如何避免此问题并在它发生时纠正它的指导将不胜感激。

谢谢

编辑 我应该提到,如果我只是双击 HTML 文件,草图 运行 就可以了。只有当我在处理过程中尝试 运行 时,才会出现错误。

edit number two在另一台笔记本电脑上用新的下载处理,同样的错误发生在IDE,而草图运行s如果我只是双击 HTML 文件。我只能相信问题随着处理 IDE.

而开始和结束

这是 Processing IDE 的 p5js 模式中的一个 known bug(或者可以说是一个功能)。这种模式显然有一个内部 JavaScript 解析器,它被卡在 ES5 中。例如,以下代码在任何主流浏览器中都可以正常工作:

let x = 0;
let y = 0;

function setup() {
  createCanvas(200,200);
  background(0);
  fill(255);
  x = 0;
  y = width/2;
}

function draw() {
  rect(x,y,10,10);
  x = (x+1)%width;
  y = (y+random(5))%height;
}

但是当您尝试在 PDE 的 p5.js 模式下使用它时,您将 运行 遇到问题。当 let 替换为 var 时,问题消失。如果您尝试使用 myArray.map(x => x*x)

之类的代码,则会出现类似的问题

p5.js 模式似乎是一个小项目,去年几乎没有新代码,所以我不会屏住呼吸进行修复。某处项目的github description说:

As with the rest of Processing, if you outgrow this setup, you should use another IDE or development solution (like a full-featured programmer's text editor and similar tools). We have no interest in creating a JavaScript IDE. Also like the rest of Processing, we want people to outgrow this setup.

听起来你已经超出了设置的范围。我建议改用 Brackets 之类的东西。