Zig 入門 #4 - for
2022-04-18 / Zig, Programming
ziglearn.org を参考に Zig
の基本を一通りさらってみます。まずは Chapter 1 - Basics | ziglearn.org から。今回はfor
について。
for
参考: for
構文は以下のようになります。 for
は他の言語でもなじみがあるので特に難しい点はない気がします。
for (iterable) |value, index| {
// ...
}
iterable
はarray
などの要素を持っているもののようです- 他の言語でいう Map(Key,Value を持つ物)についての扱いはまだわかりません
|value, index|
を利用して要素とインデックスにアクセスすることができます- 要素のみにアクセスしたいときは
|value|
と書きます - インデックスのみアクセスしたいときは
|_, index|
と書きます
- 要素のみにアクセスしたいときは
今回確認したコードは以下の通りです。
const nums = [_]u8{10, 20, 30};
// 要素、インデックスの順で記述する
for (nums) |number, index| {
std.log.info("{} : {}", .{number, index});
}
// 単体だと要素になる
for (nums) |number| {
std.log.info("{}", .{number});
}
// _ を使用して利用しない値を無視できる
for (nums) |_, index| {
std.log.info("{}", .{index});
// もちろん対象は配列なのでインデックスで参照可能
std.log.info("{}", .{nums[index]});
}