sonnum/zigsonnum/testtest.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();
}