Migrating from EZ-Script to JavaScript

For Loop

EZ-Script has a few different methods to loop. You can loop with EZ-Script using the REPEAT, REPEATUNTIL, REPEATWHILE, and simple GOTO. We'll cover the equivalent JavaScript commands here.

REPEAT = FOR


The EZ-Script REPEAT command is equivalent to the FOR command in JavaScript.

EZ-Script

Code:

REPEAT($cnt, 1, 10, 1)

print($cnt)

ENDREPEAT
JavaScript

Code:

for (var cnt = 0; cnt < 10; cnt++) {

  print(cnt)

}

Here is an explanation of each command in the FOR statement from the W3 Schools website.

Quote:


for (statement 1; statement 2; statement 3) {
  // code block to be executed
}
Statement 1 is executed (one time) before executing the code block.
Statement 2 defines the condition for executing the code block.
Statement 3 is executed (every time) after the code block has been executed.

REPEATWHILE = WHILE


The EZ-Script REPEATWHILE() command is replaced with WHILE() in JavaScript. They operate the same way and accept the same parameter. The loop will continue while the condition is TRUE.

EZ-Script

Code:

$cnt = 0

repeatwhile( $cnt < 5)

  print($cnt)
  
  $cnt = $cnt + 1

endrepeatwhile
JavaScript

Code:

var cnt = 0;

while (cnt < 5) {

  print(cnt);
  
  cnt = cnt + 1;

}


ARC Pro

Upgrade to ARC Pro

Experience early access to the latest features and updates. You'll have everything that is needed to unleash your robot's potential.

#1  
Wow that is totally great info to know, thanks!
#2  
Thanks for this Tutorial @DJ. It will be invaluable as I change over my many scripts from EZ Script to JavaScript! I'm excited to see how my robot's arm servo react to the new faster language. I have some pretty complex scripts (for me anyway. LOL).
PRO
Synthiam
#3  
I think you'll find that the new scripts you write will be even smaller and faster. Probably easier to read as well. I can always help you change some over if you post one. That'll give you examples of how the difference would be.
#4   — Edited
But just to be clear, the EZ scripts should still mostly work in Arc? I tried 2 that still worked no conversion. Just slower most likely.
PRO
Synthiam
#5  
Yeah, EZ-Script works in ARC. This is a tutorial to help people migrate to a faster and more feature-rich language.
#6  
Wow @DJ. That's an amazing offer. Thanks! I'll post one soon. I think I have covid now and need to get past that first. Can't quite thing straight right now. LOL.
PRO
Synthiam
#7  
Oh boy, it seems everyone is getting covid these days. I'm feeling left out. I hope you're doing well and binge-watching a lot of tv! Drink soup and dream about robots.
#8  
Thanks DJ. I'm coming to the end of it I hope. Feeling better. Don't feel left out. Only good thing about this is now I have some antibodies for a while. LOL. Stay healthy!
PRO
Synthiam
#9  
That's what super heros are made of!
#10   — Edited
Actually i was adding some script codes for my Init servos start up and other start up functions, then realized I used EZ script instead of Javascript. Since Javascript is way faster ,what is the easy way to convert the EZ script over to Javascript? right now it just wants to delete the whole EZ script when I move into Javascript window. Like if I copy and paste it in, will it convert? I guess I can just start over line by Line with the cheat helper
Edit.... I think I had a similar question last week about using my old EZ scripts and did you point out some tutorial Link? I seem to have forgot where.
PRO
Synthiam
#11  
*Note: I moved your question to the appropriate thread because it was asked on a feature request for Blockly copy and paste

The windows Copy and Paste command will copy the text. There is no way to "convert code" when pasting. It will merely paste what is copied. Once you paste the EZ-Script into the JavaScript window, you can edit the code to make it JavaScript syntax.
#12  
Ahh yes That was what I was looking for thanks again, sorry for asking twice,LOL!
Kyrgyzstan
#13  
How to  include a javascript library ?
PRO
Synthiam
#14  
There used to be an option for that. Hmmm. I can't seem to find it now. I'll have to take a better look as I don't see it in the documentation on the support section.