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(); }