👻
【Zig】ArrayList で文字列を連結する
ArrayList を利用することで複数の文字列を連結させることができる
const std = @import("std");
const expect = std.testing.expect;
const print = std.debug.print;
pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
const allocator = gpa.allocator();
var list = std.ArrayList(u8).init(allocator);
defer list.deinit();
try list.append(0xe3);
try list.append(0x81);
try list.append(0x82);
try list.appendSlice("いう");
print("{s}\n", .{list.items});
}
テストコードは次のとおり
test.zig
const std = @import("std");
const eql = std.mem.eql;
const expect = std.testing.expect;
test "arraylist" {
var list = std.ArrayList(u8).init(std.testing.allocator);
defer list.deinit();
try list.append(0xe3);
try list.append(0x81);
try list.append(0x82);
try list.appendSlice("いう");
try expect(eql(u8, list.items, "あいう"));
}
Discussion