我在字符串中有一个简单的句子。我想在新行上打印每个单词,或者只是对每个单词进行一些计算?
zig中有类似python的东西吗"Hello World".split()?像这样的东西:
var arr = std.strings.split("Hello world");
Run Code Online (Sandbox Code Playgroud)
Sta*_*lov 11
这是我发现的最简单的方法
const std = @import("std");
pub fn main() !void {
var it = std.mem.split(u8, "Hello World", " ");
while (it.next()) |x| {
std.debug.print("{s}\n", .{x});
}
}
Run Code Online (Sandbox Code Playgroud)
看起来分裂是在标准mem模块中实现的。.split返回SplitIterator一个带有方法的结构.next()。当.next()返回null时,while停止。这是 Zig 中的常见模式:
https://ziglearn.org/chapter-2/#iterators