Skip to content

feat: Support for (... of ...) loops #1971

@iwoplaza

Description

@iwoplaza

Proper syntax

Primitive array

const arr = d.arrayOf(d.f32, 3)([1, 2, 3]);
for (const foo of arr) {
  // ...
}
var arr = array<f32, 3>(1, 2, 3);
for (var i = 0; i < 3; i++) {
  let foo = arr[i];
  // ...
}

Complex array

const arr = d.arrayOf(d.f32, 3)([d.vec3f(), d.vec3f(1), d.vec3f(2)]);
for (const foo of arr) {
  // ...
}
var arr = array<vec3f, 3>(vec3f(), vec3f(1), vec3f(2));
for (var i = 0; i < 3; i++) {
  var foo = arr[i];
  // ...
}

Errors

// ❌ Throws during generation, because the iterable has
// to be stored in a variable first
for (const foo of [1, 2, 3]) {
  // ...
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions