Swapped mains around
This commit is contained in:
		
							
								
								
									
										43
									
								
								src/main-old.zig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								src/main-old.zig
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| const std = @import("std"); | ||||
|  | ||||
| fn calc(a: i32) i32 { | ||||
|     return a; | ||||
| } | ||||
|  | ||||
| const SOmethin = enum { | ||||
|     One, | ||||
|     Two, | ||||
|     Three, | ||||
| }; | ||||
|  | ||||
|  | ||||
| fn Optional(comptime T: type) type { | ||||
|     return struct { | ||||
|         valid: bool, | ||||
|         value: T, | ||||
|     }; | ||||
| } | ||||
|  | ||||
| fn add(a: anytype, b: anytype) @TypeOf(a + b) { | ||||
|     return a + b; | ||||
| } | ||||
|  | ||||
| const DivisionError = error{DivisionByZero}; | ||||
|  | ||||
| fn divide(a: f32, b: f32) !f32 { | ||||
|     if (b == 0) | ||||
|         return DivisionError.DivisionByZero; | ||||
|  | ||||
|     return a / b; | ||||
| } | ||||
|  | ||||
| pub fn main() !void { | ||||
|      | ||||
|  | ||||
|     std.debug.print("All your {s} are belong to us.\n", .{"codebase"}); | ||||
|  | ||||
|     const vec = @Vector(4, i32){ 1, 0, 1, 0 }; | ||||
|     const vec2 = @Vector(4, i32){ 0, 1, 0, 1 }; | ||||
|  | ||||
|     std.debug.print("vec: {}", .{vec + vec2}); | ||||
| } | ||||
							
								
								
									
										112
									
								
								src/main.zig
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								src/main.zig
									
									
									
									
									
								
							| @@ -1,43 +1,111 @@ | ||||
| const std = @import("std"); | ||||
| const Other = @import("other.zig"); | ||||
|  | ||||
| fn calc(a: i32) i32 { | ||||
|     return a; | ||||
| } | ||||
| // Struct | ||||
|  | ||||
| const SOmethin = enum { | ||||
|     One, | ||||
|     Two, | ||||
|     Three, | ||||
| const Vector2D = packed struct { | ||||
|     x: i5 = 2, | ||||
|     y: i23, | ||||
|  | ||||
|     fn name(self: Vector2D) void { | ||||
|         _ = self; // autofix | ||||
|  | ||||
|     } | ||||
|  | ||||
|     fn init() void {} | ||||
|     fn deinit() void {} | ||||
| }; | ||||
|  | ||||
| // Functions | ||||
|  | ||||
| fn add(a: *i32, b: i32) i32 { | ||||
|     a.* = 3; | ||||
|     return a.* + b; | ||||
| } | ||||
|  | ||||
| // Error unions | ||||
|  | ||||
| const DivideError = error{ | ||||
|     DivivisionError, | ||||
| }; | ||||
|  | ||||
| fn divide(a: f32, b: f32) !f32 { | ||||
|     if (b == 0) { | ||||
|         return DivideError.DivivisionError; | ||||
|     } else { | ||||
|         return a / b; | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Optional | ||||
|  | ||||
| fn Optional(comptime T: type) type { | ||||
|     return struct { | ||||
|         valid: bool, | ||||
|         value: T, | ||||
|         exists: bool, | ||||
|     }; | ||||
| } | ||||
|  | ||||
| fn add(a: anytype, b: anytype) @TypeOf(a + b) { | ||||
|     return a + b; | ||||
| } | ||||
| // Tagged unions | ||||
|  | ||||
| const DivisionError = error{DivisionByZero}; | ||||
| const Person = struct { | ||||
|     name: []const u8, | ||||
| }; | ||||
|  | ||||
| fn divide(a: f32, b: f32) !f32 { | ||||
|     if (b == 0) | ||||
|         return DivisionError.DivisionByZero; | ||||
| const Horse = struct { | ||||
|     canRide: bool = false, | ||||
|     rider: ?*const Person = null, | ||||
| }; | ||||
|  | ||||
|     return a / b; | ||||
| } | ||||
| const Duck = struct { | ||||
|     friend: ?*Animal = null, | ||||
|     gone: bool = false, | ||||
| }; | ||||
|  | ||||
| const AnimalType = enum { | ||||
|     Horse, | ||||
|     Duck, | ||||
|     Person, | ||||
| }; | ||||
|  | ||||
| const Animal = union(AnimalType) { | ||||
|     Horse: Horse, | ||||
|     Duck: Duck, | ||||
|     Person: Person, | ||||
| }; | ||||
|  | ||||
| pub fn main() !void { | ||||
|      | ||||
|     var gpa = std.heap.GeneralPurposeAllocator(.{}){}; | ||||
|     const alloc = gpa.allocator(); | ||||
|     defer _ = gpa.deinit(); | ||||
|  | ||||
|     std.debug.print("All your {s} are belong to us.\n", .{"codebase"}); | ||||
|     var list = std.ArrayList(i32).init(alloc); | ||||
|     defer list.deinit(); | ||||
|     try list.append(324); | ||||
|     try list.append(456); | ||||
|  | ||||
|     const vec = @Vector(4, i32){ 1, 0, 1, 0 }; | ||||
|     const vec2 = @Vector(4, i32){ 0, 1, 0, 1 }; | ||||
|     for (list.items) |item| { | ||||
|         std.log.debug("item: {}", .{item}); | ||||
|     } | ||||
|  | ||||
|     std.debug.print("vec: {}", .{vec + vec2}); | ||||
|     var animal = Animal{ .Horse = .{ .canRide = true } }; | ||||
|  | ||||
|     const person = Person{ .name = "Dragutin" }; | ||||
|  | ||||
|     if (animal == .Horse) { | ||||
|         animal.Horse.rider = &person; | ||||
|     } | ||||
|  | ||||
|     switch (animal) { | ||||
|         .Horse => |*horse| horse.rider = &person, | ||||
|         else => {}, | ||||
|     } | ||||
|  | ||||
|     var personAnimal = Animal{ .Person = .{ .name = "Aleksa" } }; | ||||
|  | ||||
|     var duck = Duck{ .friend = &personAnimal }; | ||||
|  | ||||
|     duck.gone = true; | ||||
|  | ||||
|     std.log.debug("Rider name: {s}", .{if (animal.Horse.rider) |rider| rider.name else "none"}); | ||||
| } | ||||
|   | ||||
							
								
								
									
										126
									
								
								src/main2.zig
									
									
									
									
									
								
							
							
						
						
									
										126
									
								
								src/main2.zig
									
									
									
									
									
								
							| @@ -1,126 +0,0 @@ | ||||
| const std = @import("std"); | ||||
| const Other = @import("other.zig"); | ||||
| const WRB = @import("rbuff.zig").WrappingRingBuffer; | ||||
|  | ||||
| const Vector2D = packed struct { | ||||
|     x: i5 = 2, | ||||
|     y: i23, | ||||
|  | ||||
|     fn name(self: Vector2D) void { | ||||
|         _ = self; // autofix | ||||
|  | ||||
|     } | ||||
|  | ||||
|     fn init() void {} | ||||
|     fn deinit() void {} | ||||
| }; | ||||
|  | ||||
| fn add(a: *i32, b: i32) i32 { | ||||
|     a.* = 3; | ||||
|     return a.* + b; | ||||
| } | ||||
|  | ||||
| const DivideError = error{ | ||||
|     DivivisionError, | ||||
| }; | ||||
|  | ||||
| fn divide(a: f32, b: f32) !f32 { | ||||
|     if (b == 0) { | ||||
|         return DivideError.DivivisionError; | ||||
|     } else { | ||||
|         return a / b; | ||||
|     } | ||||
| } | ||||
|  | ||||
| fn Optional(comptime T: type) type { | ||||
|     return struct { | ||||
|         value: T, | ||||
|         exists: bool, | ||||
|     }; | ||||
| } | ||||
|  | ||||
| const Person = struct { | ||||
|     name: []const u8, | ||||
| }; | ||||
|  | ||||
| const Horse = struct { | ||||
|     canRide: bool = false, | ||||
|     rider: ?*const Person = null, | ||||
| }; | ||||
|  | ||||
| const Duck = struct { | ||||
|     friend: ?*Animal = null, | ||||
|     gone: bool = false, | ||||
| }; | ||||
|  | ||||
| const AnimalType = enum { | ||||
|     Horse, | ||||
|     Duck, | ||||
|     Person, | ||||
| }; | ||||
|  | ||||
| const Animal = union(AnimalType) { | ||||
|     Horse: Horse, | ||||
|     Duck: Duck, | ||||
|     Person: Person, | ||||
| }; | ||||
|  | ||||
| pub fn main() !void { | ||||
|     var gpa = std.heap.GeneralPurposeAllocator(.{}){}; | ||||
|     const alloc = gpa.allocator(); | ||||
|     defer _ = gpa.deinit(); | ||||
|  | ||||
|     var list = std.ArrayList(i32).init(alloc); | ||||
|     defer list.deinit(); | ||||
|     try list.append(324); | ||||
|     try list.append(456); | ||||
|  | ||||
|     for (list.items) |item| { | ||||
|         std.log.debug("item: {}", .{item}); | ||||
|     } | ||||
|  | ||||
|     var animal = Animal{ .Horse = .{ .canRide = true } }; | ||||
|  | ||||
|     const person = Person{ .name = "Dragutin" }; | ||||
|  | ||||
|     if (animal == .Horse) { | ||||
|         animal.Horse.rider = &person; | ||||
|     } | ||||
|  | ||||
|     switch (animal) { | ||||
|         .Horse => |*horse| horse.rider = &person, | ||||
|         else => {}, | ||||
|     } | ||||
|  | ||||
|     var personAnimal = Animal{ .Person = .{ .name = "Aleksa" } }; | ||||
|  | ||||
|     var duck = Duck{ .friend = &personAnimal }; | ||||
|  | ||||
|     duck.gone = true; | ||||
|  | ||||
|     std.log.debug("Rider name: {s}", .{if (animal.Horse.rider) |rider| rider.name else "none"}); | ||||
|  | ||||
|     { | ||||
|         std.log.info("Ring buffer!", .{}); | ||||
|  | ||||
|         var rbuff = try WRB(i32).initCapacity(alloc, 32); | ||||
|         defer rbuff.deinit(); | ||||
|  | ||||
|         if (rbuff.isEmpty()) | ||||
|             try rbuff.pushBack(14); | ||||
|  | ||||
|         try rbuff.pushBack(16); | ||||
|         try rbuff.pushBack(2); | ||||
|  | ||||
|         const front = rbuff.frontPtr(); | ||||
|         front.* = 333; | ||||
|  | ||||
|         var iter = rbuff.iter(); | ||||
|  | ||||
|         while (iter.next()) |*value| { | ||||
|             std.log.info("rbuff value: {}", .{value}); | ||||
|         } | ||||
|  | ||||
|         std.log.info("the end!", .{}); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user