mirror of
https://github.com/ziglang/zig.git
synced 2024-11-14 16:13:24 +00:00
organize the docs and some rewording
This commit is contained in:
parent
475a181028
commit
23dd7f4527
@ -1731,29 +1731,38 @@ test "array initialization with function calls" {
|
||||
assert(more_points[4].y == 6);
|
||||
assert(more_points.len == 10);
|
||||
}
|
||||
{#code_end#}
|
||||
{#see_also|for|Slices#}
|
||||
|
||||
// Multidimensional arrays are declared by simply adding another array before the existing array
|
||||
var mat4x4 = [4][4]f32{
|
||||
[_]f32{1.0, 0.0, 0.0, 0.0},
|
||||
[_]f32{0.0, 1.0, 0.0, 1.0},
|
||||
[_]f32{0.0, 0.0, 1.0, 0.0},
|
||||
[_]f32{0.0, 0.0, 0.0, 1.0}
|
||||
{#header_open|Multidimensional Arrays#}
|
||||
<p>
|
||||
Mutlidimensional arrays can be created by nesting arrays:
|
||||
</p>
|
||||
{#code_begin|test|multidimensional#}
|
||||
const std = @import("std");
|
||||
const assert = std.debug.assert;
|
||||
|
||||
const mat4x4 = [4][4]f32{
|
||||
[_]f32{ 1.0, 0.0, 0.0, 0.0 },
|
||||
[_]f32{ 0.0, 1.0, 0.0, 1.0 },
|
||||
[_]f32{ 0.0, 0.0, 1.0, 0.0 },
|
||||
[_]f32{ 0.0, 0.0, 0.0, 1.0 },
|
||||
};
|
||||
test "multidimensional arrays" {
|
||||
// Multidimensional arrays can be accessed as expected from other languages...
|
||||
// Access the 2D array by indexing the outer array, and then the inner array.
|
||||
assert(mat4x4[1][1] == 1.0);
|
||||
|
||||
// or iterated over like any other array
|
||||
for (mat4x4) |row, rowNum| {
|
||||
for (row) |column, colNum| {
|
||||
if (rowNum == colNum) {
|
||||
assert(column == 1.0);
|
||||
// Here we iterate with for loops.
|
||||
for (mat4x4) |row, row_index| {
|
||||
for (row) |cell, column_index| {
|
||||
if (row_index == column_index) {
|
||||
assert(cell == 1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{#code_end#}
|
||||
{#see_also|for|Slices#}
|
||||
{#header_close#}
|
||||
{#header_close#}
|
||||
|
||||
{#header_open|Vectors#}
|
||||
|
Loading…
Reference in New Issue
Block a user