gpt4 book ai didi

macros - 用于创建函数变体的 Haxe 宏

转载 作者:行者123 更新时间:2023-12-01 06:14:24 25 4
gpt4 key购买 nike

我需要为一个简单函数创建一些编译时变体。

这个有宏吗?

function foo_$X()
{
//complicated stuff

do($X);

//more complicated stuff
}

其中 $X 只是来自已知集合的一些常量值,为了论证,说 ["a","b","c"]。

在这个简单的示例中,我想在编译时获得以下结果:

function foo_a()
{
//complicated stuff

do("a");

//more complicated stuff
}

function foo_b()
{
//complicated stuff

do("b");

//more complicated stuff
}

function foo_c()
{
//complicated stuff

do("c");

//more complicated stuff
}

最佳答案

没有内置宏。但是制作起来非常简单。

这是建筑类型的手册:http://haxe.org/manual/macro-type-building.html

在你的情况下,你可能想用一些编译时元标记你的方法,然后在构建类时,找到用元标记的方法并将你编写的变体添加到类字段数组中。使用具体化,变体方法本身的组合非常简单,不需要任何复杂的 AST 操作。

关于macros - 用于创建函数变体的 Haxe 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34499686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com