58 lines
No EOL
1.1 KiB
Zig
58 lines
No EOL
1.1 KiB
Zig
const std = @import("std");
|
|
const print = std.debug.print;
|
|
const ArrayList = std.ArrayList;
|
|
const AutoHashMap = std.AutoHashMap;
|
|
|
|
pub fn prnt(s: []const u8) void {
|
|
print("{s}\n", .{s});
|
|
}
|
|
|
|
const Pnt = struct {
|
|
|
|
x: f32 = 0,
|
|
y: f32 = 0,
|
|
z: f32 = 0,
|
|
|
|
fn printPnt(self: *const Pnt) void {
|
|
print("{d} {d} {d}\n", .{self.x, self.y, self.z});
|
|
}
|
|
|
|
};
|
|
|
|
pub fn main() !void {
|
|
|
|
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
|
const allocator = gpa.allocator();
|
|
|
|
defer {
|
|
const deinit_status = gpa.deinit();
|
|
_ = deinit_status;
|
|
}
|
|
|
|
var pntlist = ArrayList(Pnt).init(allocator);
|
|
|
|
var p1 = Pnt{.x = 0, .y= 1, .z = 3};
|
|
p1.printPnt();
|
|
|
|
try pntlist.append(p1);
|
|
pntlist.items[0].printPnt();
|
|
print("{d}\n", .{pntlist.items.len});
|
|
try pntlist.append(p1);
|
|
print("{d}\n", .{pntlist.items.len});
|
|
try pntlist.append(p1);
|
|
print("{d}\n", .{pntlist.items.len});
|
|
|
|
p1.x = 4;
|
|
p1.printPnt();
|
|
pntlist.items[0].printPnt();
|
|
print("{any}", .{@TypeOf(pntlist)});
|
|
defer pntlist.deinit();
|
|
|
|
var map = AutoHashMap(u32, Pnt).init(allocator);
|
|
defer map.deinit();
|
|
|
|
try map.put(1, p1);
|
|
try map.put(22, pntlist.items[0]);
|
|
//map.get(22).printPnt();
|
|
|
|
} |