如何从第三方模块重新导出功能

How to re-export functions from a third-party module

我有一个模块 foo.zig,它很有用,但我想用更多功能扩充它,而不 修改 它,所以我创建了 foo-wrapper.zig多一两个功能,foo.zig有几十个功能

如何将 foo.zig 中的所有函数重新导出(使用 pub 或其他东西)给 foo-wrapper.zig 的所有消费者?

只需在foo-wrapper.zig中声明函数名称并添加pub关键字即可。


foo.zig

pub fn hello() void {
 std.debug.print("Hello", .{});
}

foo-wrapper.zig

const foo = @import("foo.zig");
pub const hello = foo.hello;
// or do
pub usingnamespace @import("foo.zig");

pub fn helloWorld() void {
 hello();
 std.debug.print(" World", .{});
}

main.zig

const foo_wrapper = @import("foo-wrapper.zig");

pub fn main() void {
  foo_wrapper.helloWorld();
  foo_wrapper.hello();
}