问题标签 [zig]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
zig - 使用 ArrayList 和 Slice 时输出中的不确定性
我正在与 Zig 一起研究 Advent of Code,现在是第 3 天。我已经上传了我编写的代码。谜题描述和代码在这里:https ://github.com/secondspass/adventofcodeday3 。代码在day3_part2.zig,输入文件是day3.in。我用zig run day3_part2.zig
.
运行代码时,我得到两个输出之一。函数中的以下整数溢出co2ScrubberRating
。
或者我会得到以下输出,其中第二行的二进制数是co2ScrubberRating
函数的输出,是一个看似随机的数。
每次运行zig run day3_part2.zig
.
我将相同的 ArrayList.items 切片和分配器传递给oxygenGeneratorRating
和co2ScrubberRating
。如果我只在主函数中运行其中一个函数(即我注释掉其中一个),则会为该函数生成正确的输出。但是如果我主要有这两个函数,我会从函数中得到随机的错误输出co2ScrubberRating
。而且我不知道它为什么会这样。我想这与第二次将 ArrayList 传递给函数有关。
任何见解将不胜感激。
metaprogramming - 为@call 构建可变长度参数数组
我最近开始学习 Zig。作为一个小项目,我想实现一个用于编写随机测试的小型 QuickCheck [1] 样式帮助程序库。
但是,我不知道如何编写通用方法来调用具有任意数量参数的函数。
这是一个简化版本,可以使用两个参数测试函数:
我尝试了一些不同的方法,但我不知道如何让上述代码适用于具有任意数量参数的函数。
我尝试过的事情:
- 制作
args
一个数组并用inline for
循环填充它。不起作用,因为[]anytype
不是有效类型。 - 使用一点 comptime 魔法来构建一个结构类型,其字段包含
@call
. 这在编译器中遇到了一个 TODO:error: TODO: struct args
. - 编写返回适当参数元组调用的通用函数。我真的不喜欢这个,因为你需要一个函数来支持你想要支持的每一个 arity。但它似乎无论如何都不起作用,因为
antype
它不是有效的返回类型。
我在 Zig 0.9.1。
任何见解将不胜感激。
zig - 如何包含另一个 .zig 文件中的一个 .zig 文件
只是探索 Zig... 我有一个 .zig 文件,其中包含一堆 comptime 函数和常量,我想在其他 .zig 程序中使用它们。相当于#include "my.h"
在 C 中。
arrays - Zig 错误:非数组类型的数组访问
我需要一些帮助来创建一个数组作为 Zig 中的结构字段。
当我编译时,它给了我以下错误
我哪里做错了?请帮忙,谢谢。
string - 使用 String 参数创建结构
我只想创建一个带有可变字符串(utf-8 文本)的结构。
可能吗?或者我必须设置字符串的最大长度(例如name: [255]u8;
)?当我传递给编译器时,它说:
无论如何,我想念原生字符串类型,而不必处理字节。有没有图书馆?