On Tuesday, 9 January 2024 at 10:11:35 UTC, Alexibu wrote:
It looks like isInputRange is false for arrays with fixed
length by design.
I can do:
```d
float[4] arr;
foreach(x;arr)
writefln("%s",x)
```
but not :
```d
arr.each!(a => a.writefln("%s",a));
```
Is there a good reason for this ?
It took my a long time to figure out.
Jonathan's been giving you good general information about this.
I'm curious about your partial example. If I fix the writefln
call, it works.
```
import std;
float[4] arr;
void main() {
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr.each!(a => "%s".writefln(a));
}
```