Я использую цикл for для перебора целочисленного диапазона, например:
for (0..256) |i| {
Моя проблема в том, что мне нужно i соответствовать типу u21, но сейчас это usize. Я могу просто воспользоваться руководством @intCast внутри цикла, но мне интересно, есть ли способ получше.
Я надеялся, что следующее сработает, но это все равно дает мне usize:
for (@as(u21, 0)..256) |i| {
Есть какие-нибудь предложения, как элегантно это сделать?





В документации не упоминаются какие-либо хитрости. Но вы можете использовать цикл while:
var i: u21 = 0;
while (i < 256) : (i += 1) {
// ...
}
Принято, поскольку я думаю, что это хороший ответ. Но было бы неплохо иметь управление в цикле for. Может быть, улучшение языка где-нибудь поднять?