如何从第三方模块重新导出功能
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();
}
我有一个模块 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();
}