首页
文章列表
标签墙
返回找工具啦
元编程
共 14 篇文章
Python __subclasses__动态获取类的所有子类
2026-05-11 11:43:21
Python subclasses 动态获取类的所有子类 subclasses 是 Python 的一个内置类方法,允许你在运行时动态地获取一个类的所有直接子类。这个功能在构建可扩展的框架、插件系统或进行调试时非常有用。 什么是 subclasses? subclasses 是一个类方法,调用它会返
Python
类继承
内置方法
51
0
C++ consteval立即函数强制编译期求值的应用
2026-04-21 12:13:57
C++ consteval立即函数强制编译期求值的应用 consteval 是 C++20 引入的关键字,用于修饰“立即函数”。它的核心作用是强制编译器在编译阶段计算函数的结果,如果无法在编译期完成求值,编译将直接报错。这比 constexpr 更为严格,能够确保代码的绝对性能,并将计算压力从运行时
C++
C++20
立即函数
64
0
Lisp 元编程:eval 与 backquote
2026-04-16 11:18:28
Lisp 元编程:eval 与 backquote Lisp 之所以强大,核心在于它打破了“代码”与“数据”的界限。元编程即“编写生成代码的代码”。掌握 eval 和 backquote(反引号)是进入这一领域的必经之路。 1. 理解代码即数据 在 Lisp 中,所有代码本质上都是列表(List)。
Lisp编程
元编程
代码即数据
95
0
Groovy 闭包委托:delegate 与 owner
2026-04-10 02:24:07
Groovy 闭包委托:delegate 与 owner Groovy 闭包不仅是一段代码,它更是一个携带上下文的对象。理解闭包中的 this、owner 和 delegate 三者关系,是掌握 Groovy 元编程和 DSL(领域特定语言)开发的关键。特别是 delegate,它赋予了闭包在不同对
Groovy
闭包
委托
76
0
Lisp 宏:defmacro 与 quote
2026-04-07 08:57:45
Lisp 宏:defmacro 与 quote Lisp 的核心执行逻辑建立在代码即数据的理念之上。掌握 quote 的数据冻结能力与 defmacro 的代码生成机制,是编写高阶抽象语法的前提。以下指南按执行顺序拆解两者的操作路径。 阶段一:掌握 quote 的拦截机制 1. 识别 默认求值行为:
Lisp宏
代码生成
元编程
58
0
Python元类在ORM框架字段映射中的核心作用
2026-04-07 04:17:17
Python元类在ORM框架字段映射中的核心作用 在构建对象关系映射(ORM)框架时,定义模型类并将类属性自动转换为数据库表结构是基础任务。Python 元类(Metaclass)拦截类的创建流程,收集字段定义,生成列名与类型映射表,从而消除重复的样板代码。本指南演示如何从零编写基于元类的字段映射器
Python元类
ORM框架
字段映射
84
0
Julia 宏:@macro 与元编程
2026-04-07 03:04:18
Julia 宏:@macro 与元编程 理解 Julia 元编程与宏的底层逻辑。元编程指“让程序在运行时动态编写或修改自身代码”。在 Julia 中,宏负责在代码正式执行前(即编译解析阶段),拦截你写好的源代码片段,将其转换为另一段优化或定制后的代码,再交还给编译器继续运行。 1. 启动 Julia
元编程
Julia宏
表达式树
65
0
Java 注解:自定义注解与反射获取
2026-04-05 03:36:51
Java 注解:自定义注解与反射获取 注解是 Java 提供的一种元编程机制,它允许在代码中嵌入附加信息,这些信息可以在编译时、类加载时或运行时被读取和处理。注解本身不直接影响代码的运行逻辑,但它为工具、框架和开发者提供了描述代码行为的标准化方式。 这篇文章将系统讲解注解的核心概念、手把手教你自定义
Java注解
自定义注解
反射机制
91
0
Scheme 元编程:eval 与 quasiquote
2026-04-03 11:23:02
Scheme 元编程:eval 与 quasiquote Scheme 的元编程能力源于它将代码视为数据的特性。在 Scheme 中,程序结构本身可以用列表、符号等基本数据类型表示,这使得程序可以动态生成和修改其他程序。eval 和 quasiquote 是实现这一能力的两个核心工具。 理解 eva
Scheme
元编程
eval
59
0
Kotlin 反射:KClass 与 KProperty
2026-04-03 09:32:16
Kotlin 反射:KClass 与 KProperty Kotlin 提供了一套强大的反射 API,允许你在运行时检查类、函数、属性等程序结构。其中 KClass 和 KProperty 是两个核心接口,分别用于描述类和属性的元信息。掌握它们能让你在不硬编码的情况下动态访问对象结构。 获取 KCl
Kotlin反射
KClass
KProperty
77
0
TypeScript装饰器元编程在NestJS依赖注入中的应用
2026-04-03 06:58:30
TypeScript装饰器元编程在NestJS依赖注入中的应用 NestJS 使用 TypeScript 的装饰器(Decorator)机制实现依赖注入(Dependency Injection),这是其核心架构能力之一。通过装饰器元编程,框架能在运行前收集类、方法或属性的元数据,并据此自动创建和管
TypeScript
装饰器
元编程
66
0
Elixir 宏:defmacro 与 quote
2026-04-02 23:30:24
Elixir 宏:defmacro 与 quote Elixir 的宏系统让你能在编译期修改代码结构,实现高级抽象。defmacro 和 quote 是构建宏的两个核心工具。掌握它们,你就能写出像 Elixir 标准库那样简洁而强大的 DSL(领域特定语言)。 理解 quote:把代码变成数据 在
Elixir宏
defmacro
quote
65
0
C++模板元编程实现编译期类型检查
2026-04-02 07:46:42
C++模板元编程实现编译期类型检查 C++模板元编程(Template Metaprogramming, TMP)允许你在编译阶段执行逻辑判断和计算,从而在代码还未运行时就完成类型验证、错误拦截或优化决策。其中一项核心用途是实现编译期类型检查:确保传入模板的类型满足特定约束,若不满足则直接报错,避免
C++模板
编译期检查
类型约束
74
0
Ruby 元编程:define_method 与 instance_eval
2026-04-02 00:49:03
Ruby 元编程:definemethod 与 instanceeval Ruby 的元编程能力让你能在程序运行时动态创建或修改代码。其中,definemethod 和 instanceeval 是两个最常用、也最容易混淆的工具。它们都能用来定义方法,但作用时机、作用对象和使用场景完全不同。掌握它们
Ruby
元编程
define_method
70
0