Control Flow
ArcScript uses indentation to define code blocks for control flow statements, similar to Python.
If-Else Statements
Use if and else for conditional logic.
ArcScript:
age = 20
if age >= 18
print("Adult")
else
print("Minor")
JavaScript Output:
let age = 20;
if (age >= 18) {
console.log("Adult");
}
else {
console.log("Minor");
}
While Loops
The while loop executes a block of code as long as a specified condition is true.
ArcScript:
counter = 0
while counter < 3
print(counter)
counter = counter + 1
JavaScript Output:
let counter = 0;
while (counter < 3) {
console.log(counter);
counter = counter + 1;
}
For Loops
ArcScript provides two types of for loops: one for iterating over collections and another for numeric ranges.
Looping over an Iterable
This is equivalent to a for...of loop in JavaScript.
ArcScript:
items = grabAll ".item-class"
for item in items
print(item)
JavaScript Output:
let items = document.querySelectorAll(".item-class");
for (let item of items) {
console.log(item);
}
Numeric Range Loops
This is a powerful feature for creating traditional for loops with a simpler syntax.
Form 1: ``for i in [end]`` (starts at 0, increments by 1)
for i in [5]
print(i) # Prints 0, 1, 2, 3, 4
for (let i = 0; i < 5; i++) {
console.log(i);
}
Form 2: ``for i in [start, end]`` (increments or decrements by 1)
# Counts up
for i in [3, 7]
print(i) # Prints 3, 4, 5, 6
# Counts down
for i in [10, 5]
print(i) # Prints 10, 9, 8, 7, 6
// Counts up
for (let i = 3; i < 7; i++) {
console.log(i);
}
// Counts down
for (let i = 10; i > 5; i--) {
console.log(i);
}
Form 3: ``for i in [start, end, step]`` (increments or decrements by a step value)
# Counts down by 2
for i in [10, 0, 2]
print(i) # Prints 10, 8, 6, 4, 2
for (let i = 10; i > 0; i -= 2) {
console.log(i);
}