zig:打印函数中的 if 语句产生错误的输出
zig: if statement in print function produces wrong output
我有这个代码:
const std = @import("std");
const print = std.debug.print;
pub fn main() void {
var n: u8 = 1;
print("{s}\n", .{if (n == 0) "0" else "1"});
}
但它并没有达到我的要求。输出为“0”。
谁能告诉我发生了什么事?
非常感谢。
Zig 还不稳定,在特殊的第 1 阶段(当前的引导编译器)中不会稳定,因为目的是删除它并用第 2 阶段生成的 c 代码替换引导编译器(作为新的引导编译器) .
与此相反,stage2(目前正在开发中)会正确处理这些事情。
这是一个已知的错误编译。
请先搜索上游,在 https://github.com/ziglang/zig/issues 标签下 stage1 和错误编译。
我有这个代码:
const std = @import("std");
const print = std.debug.print;
pub fn main() void {
var n: u8 = 1;
print("{s}\n", .{if (n == 0) "0" else "1"});
}
但它并没有达到我的要求。输出为“0”。
谁能告诉我发生了什么事? 非常感谢。
Zig 还不稳定,在特殊的第 1 阶段(当前的引导编译器)中不会稳定,因为目的是删除它并用第 2 阶段生成的 c 代码替换引导编译器(作为新的引导编译器) .
与此相反,stage2(目前正在开发中)会正确处理这些事情。
这是一个已知的错误编译。
请先搜索上游,在 https://github.com/ziglang/zig/issues 标签下 stage1 和错误编译。