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

时间:2018-05-02 03:35:53

标签: processing p5.js

所以我使用Processing(p5.js模式)几次遇到这个问题,看起来似乎不太想要编译。

错误如下:" SyntaxError:Expected;但找到 [我的第一个变量的名称] "

Screen Snip of error

我可以将代码复制并粘贴到新的处理草图中并运行。我必须做到这一点很烦人。

我在停止工作之前做的最后一件事 是重命名草图。我无法记住,如果发生了其他事情,我曾经遇到过这个问题,但如果是这样的话,我会打赌我会意识到这一点。

有关如何避免此问题的任何指导&当它发生时纠正它将非常感激。

由于

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

使用新的下载处理在另一台笔记本电脑上

编辑第二个,IDE中会出现同样的错误,而如果我只是双击HTML文件则会运行草图。我离开时相信问题会因处理IDE而开始和停止。

1 个答案:

答案 0 :(得分:0)

这是处理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在一个地方说:

  

与Processing的其余部分一样,如果你超出这个设置,你应该   使用其他IDE或开发解决方案(如全功能   程序员的文本编辑器和类似工具)。我们没兴趣   创建JavaScript IDE。也像处理的其余部分一样,我们想要   人们要超过这个设置。

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