mirror of
https://github.com/ziglang/zig.git
synced 2024-11-14 16:13:24 +00:00
add doc in Anonymous Struct Literal
section for special @"0" syntax. (#8630)
This commit is contained in:
parent
33cb660838
commit
5fcc922ff2
@ -2861,6 +2861,37 @@ fn dump(args: anytype) void {
|
||||
expect(args.b);
|
||||
expect(args.s[0] == 'h');
|
||||
expect(args.s[1] == 'i');
|
||||
}
|
||||
{#code_end#}
|
||||
<p>
|
||||
Anonymous structs can be created without specifying field names, and are referred to as "tuples".
|
||||
</p>
|
||||
<p>
|
||||
The fields are implicitly named using numbers starting from 0. Because their names are integers,
|
||||
the {#syntax#}@"0"{#endsyntax#} syntax must be used to access them. Names inside {#syntax#}@""{#endsyntax#} are always recognised as identifiers.
|
||||
</p>
|
||||
<p>
|
||||
Like arrays, tuples have a .len field, can be indexed and work with the ++ and ** operators. They can also be iterated over with {#link|inline for#}.
|
||||
</p>
|
||||
{#code_begin|test|tuple#}
|
||||
const std = @import("std");
|
||||
const expect = std.testing.expect;
|
||||
|
||||
test "tuple" {
|
||||
const values = .{
|
||||
@as(u32, 1234),
|
||||
@as(f64, 12.34),
|
||||
true,
|
||||
"hi",
|
||||
} ++ .{false} ** 2;
|
||||
expect(values[0] == 1234);
|
||||
expect(values[4] == false);
|
||||
inline for (values) |v, i| {
|
||||
if (i != 2) continue;
|
||||
expect(v);
|
||||
}
|
||||
expect(values.len == 6);
|
||||
expect(values.@"3"[0] == 'h');
|
||||
}
|
||||
{#code_end#}
|
||||
{#header_close#}
|
||||
|
Loading…
Reference in New Issue
Block a user