|
|
|
|
|
by bgthompson
408 days ago
|
|
My game has a bunch of strings, and my string code currently looks very different to this! For example, copying two lines from source: var buffer : [64] u8 = undefined;
const level_name_cstring : stringnt = std.fmt.bufPrintZ(&buffer, "{}. {s}", .{icon_index + 1, level_name}) catch unreachable;
(Make the string "10. Fortress" from the int 10 and "Fortress")The reason is, most of the strings in my game are bounded, and actually, known ahead of time. None of the levels have names that approach anything as long as 64 bytes, so I can actually do a fair bit of string manipulation on the stack before needing to use / save it to an allocator. (At least for now before localization XD) So it depends on the use case. Sure, string manipulation in general can be tiresome in Zig, but in many cases it's also simple. |
|
This sort of code makes me nervous about Zig.