metaprogramming 相关问题

元编程是重新编程编程环境的能力,就像宏或元类一样。

类主体中类的Python名称

是否可以在类定义主体中获取类名? 例如, 类 Foo(): x = magic() # x 现在应该是 'Foo' 我知道我可以在...之外静态地执行此操作

回答 6 投票 0

如何将 Julia 结构完全解压到局部变量中?

我创建了一个包含大量参数的复杂计算模型。由于我需要运行许多场景,因此我决定将所有这些输入参数包装到一个巨大的结构中: 使用参数 @w...

回答 5 投票 0

模板参数推演(多参数模板)

我需要创建自己的 std::map 实现,但可以在仅使用一个模板参数创建键时推断出键的类型。 模板 M 班...

回答 1 投票 0

实现C++模板来生成给定范围的索引序列

所以,C++14提供了struct make_index_sequence来生成从0到N-1的索引序列。我想知道如何实现一个来生成给定范围内的索引序列。例如...

回答 2 投票 0

如何从类中的方法动态创建模块级函数

我正在尝试从类中的方法动态创建模块级函数。因此,对于类中的每个方法,我想创建一个具有相同名称的函数,该函数创建...

回答 3 投票 0

C++ 元编程检查类型是否存在

下面的源代码摘自MongoDB。 据我所知, detector_clone_factory_type_member_impl 的目的是检查类型 T 是否拥有 clone_factory_type 。怎么...

回答 1 投票 0

Rails 应用程序中多个请求之间的会话变量

我在我的rails应用程序中,我正在控制器方法中的子过程中设置会话的值,然后重定向到静态页面,该静态页面最终重定向到我的最终控制器/行为...

回答 2 投票 0

计算模板模板类型的参数

以下代码适用于 GCC(至少在 GCC 10.1.0 中),但不适用于 MSVC 和 Clang。我不确定它在 C++ 标准中是否合法。 我正在尝试计算模板模板类型中的参数。 是

回答 6 投票 0

使用 Zig 中的 comptime 值格式化字符串

我正在尝试创建一个仅接受长度为4的内置向量(如@Vector)的多态函数。据我了解,向量的长度是已知的,我想广告......

回答 1 投票 0

C# 中的猴子修补

是否可以在运行时扩展或修改 C# 类的代码? 我的问题特别围绕 Monkey Patching / Duck Punching 或元对象编程 (MOP),正如它发生在

回答 5 投票 0

是否可以在运行时将子例程附加到 Raku 模块?

我希望能够在运行时向模块 Foo 添加一个子模块。 在 Perl 中,我会做类似的事情: *{'My::Module::foo'} = \sub { 'FOO!' }; 我知道 Raku 没有像 Perl 那样的 TypeGlobbing。理想...

回答 1 投票 0

是否可以使用 constexpr if 来检查类型是容器还是 std::string

例如我有这样的课程: 模板 TLV解析器类 { 民众: TLVParser(T 值) : value_(std::move(value)) {} 无效解析(const std::span &buffer,

回答 1 投票 0

我可以从类型列表声明模板实例化吗?

很确定我已经知道答案了,但值得一试。 所以,假设我有一个类型列表: 模板 结构类型列表{}; 其中包含一些对象: 结构体foo{}; 斯特...

回答 6 投票 0

通过 C++ 元编程在编译时自动为每个模板专门化分配索引?

比如我想实现一个这样的模板函数: 模板 int GetTypeIndex() {} 它总是为相同的“T”返回行列式从零开始的索引,最后......

回答 1 投票 0

在 C++ 中枚举枚举

在 C++ 中,是否可以枚举枚举(运行时或编译时(首选))并为每次迭代调用函数/生成代码? 示例用例: 枚举 abc { 开始 一个,...

回答 9 投票 0

Scala3:通过元编程创建类型?

我正在使用 scala3 进行编码,利用编程结构类型。 结构类型恰好模仿现有的案例类: 他们的定义是纯粹的样板, 因此,手工制作的诱惑......

回答 3 投票 0

带参数的Python装饰器类

我有一个简单的 Python 类,我想用它来将命名钩子添加到我正在编写的程序中。我尝试运行下面的代码并得到以下输出。 代码: 钩子={} 类钩子(对象): ...

回答 1 投票 0

使用另一个数组的信息对结构体数组进行编译时初始化

令 Foo 是一个保存整数的结构。 现在,我需要在编译时根据来自整数数组的值初始化 Foo 数组。 当然,也可以手写,但...

回答 1 投票 0

全局预置内核模块函数

我想像这样添加 Kernel.rand : # 我尝试类似的东西 mod = Module.new 做 def 兰德(*args) p“做某事” 超级(*参数) 结尾 结尾 内核.prepend(mod) # 我预计...

回答 1 投票 0

如何根据属性动态地为类 __init__ 函数提供参数?

像 dataclasses 和 pydantic 这样的工具如何为它们创建的类创建 __init__() 函数? 我知道我可以使用这些工具,但我想学习如何使用 python 元编程来匹配...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.