macros 相关问题

***不要使用VBA / MS-Office语言。请改用相应的[vba]标签。***宏是一种规则或模式,用于指定某个输入序列(通常是一系列字符)应如何映射到输出序列(通常也是一系列字符),具体如下:一个确定的程序。

如何打印功能测试宏

C++20 引入了预定义功能测试宏的概念,允许检查语言和库功能的可用性(请参阅 https://en.cppreference.com/w/cpp/feature_test 中的表格)。 我是

回答 1 投票 0

jinja dbt 宏 - 无法匹配输出

即使结果变量中存储的值完全相同,我也无法比较它。 我使用了修剪,检查了数据类型,额外的空格,单引号,双引号,不带引号。 如果

回答 1 投票 0

如何在 Rust 宏中引用外部范围项?

我正在编写一个过程宏,它接收一个特征项并根据该特征返回一些模块。 输入 #[我的宏] 酒吧特征 MyTrait { // ... // ... fn 项 // ... } 输出 酒吧模式

回答 1 投票 0

Clojure 中的语法引用和 Clojurescript 中的语法引用有什么区别?

在 Clojure REPL 中: (macroexpand-1 `(sum 2 1)) ; (用户/总和 2 1) 在 Clojurescript REPL 中: (macroexpand-1 `(sum 2 1)) ; AssertionError:断言失败:必须引用 Macroexpand-1 的参数 为什么会这样...

回答 1 投票 0

如何找到 X 宏枚举的元素数量

#define ID_ENUM(X) \ X(电话号码, 0x100) \ X(ING_ID, 0x200) \ X(心跳,0x206)\ X(帧,0x400)\ XFRAME2,0x410) #定义...

回答 1 投票 0

根据宏参数 rust 的值创建代码

宏规则!重试_放置{ ($mod_name:ident, $data_type:ty) => {{ fn $mod_name() { // 类似 如果 $mod_name == "红色" { // 生成此处编写的代码,而不是...

回答 1 投票 0

我正在尝试制作宏/热键

它只是不起作用,我收到一条错误消息 AttributeError:“控制器”对象没有属性“is_pressed” 代码: 从 pynput.mouse 导入按钮、控制器 从 pynput.keyboard 导入键,控制...

回答 3 投票 0

理解C版本宏(看起来像未声明的变量?)

我碰巧读过ArduinoJson/version.hpp,其中包含以下宏: #define ARDUINOJSON_VERSION_MACRO V701 现在,我是一名 Python 开发人员,对 ctypes(gen) 中的 C 语言有非常基本的了解。 ...

回答 2 投票 0

如何创建具有三个键的 VSCode 按键绑定?

尝试将cursorWordEndRight绑定到alt+;+l,以便当我同时按下所有三个键时该命令会触发 - 不是作为和弦 - 但它在我的 Keybindings.json 文件中突出显示红色并说你...

回答 1 投票 0

根据工作表和行查找 Excel 值

我想知道是否可以根据工作表名称和这些工作表中的某些列查找值?我试图理解这个想法,但实际上找不到解决方案......

回答 1 投票 0

接受引用宏定义的变量的表达式的宏

可不可以写一个宏: my_macro!(左+右) 变成: { 让左= 0; 令右 = 1; $表达式 } 变量在宏中定义的位置?用户...

回答 1 投票 0

为什么在Python中按住键会按下一个键?

我目前正在用Python开发一个小型宏软件,允许用户以简单的方式自动执行常见任务(一种为熟悉它的人提供的最新“超级宏”)......

回答 1 投票 0

GOOGLE SHEETS:使用宏将单元格范围存档到第二张表有时会丢失范围值并导致参考错误

全新用户平安来临。刚刚加入,希望能获得一些有关我设置的宏的帮助。如果我使用任何不正确的术语或语言,我深表歉意。 奇怪的是,在某些

回答 1 投票 0

使用 Basic 宏将公式粘贴到 Libre Calc 中

我正在尝试使用本机 Basic 在 Libre Calc 中复制 Excel 宏。 我遇到了我认为应该是一个简单的问题/解决方案(对于那些知道自己在做什么的人)......

回答 1 投票 0

libreoffie 计算宏粘贴公式

我想要一个宏来粘贴标准 Libreoffice 公式。 公式为: =IF(D13<>"",VLOOKUP(E13, $Jnr_ranking_processor.$C$11:$G$50, 5, 0),"") 我有一个表单控制按钮...

回答 1 投票 0

定义内联字节注册到NASM中;将数据库字符串放入 .data 并通过一个源代码行获取指向它的指针?

有什么方法可以这样传递字节吗? mov ecx, 字节 ["mybytes",0xa,0] 代替: .data 节 mybytes db "mybytes",0xa,0 节.文本 全球主要 主要的: 我...

回答 1 投票 0

Python 的 C 预处理器宏等效项

我习惯在 C 中定义宏(不仅仅是常量) #定义循环(i,a,b) for(i=a; i 我习惯在 C 中定义宏(不仅仅是常量) #define loop(i,a,b) for(i=a; i<b; ++i) #define long_f(a,b,c) (a*0.123 + a*b*5.6 - 0.235*c + 7.23*c - 5*a*a + 1.5) 有没有办法在 python 中使用 preprocess 而不是函数来做到这一点? *通过预处理我的意思是在运行代码之前替换定义的出现(实际上不是整个代码,而是代码的其余部分,因为由于它是代码的一部分,我想它将在运行时替换所有内容) . 如果有的话值得吗?运行时间会有显着差异吗? 有办法吗?是的。总有办法的。你应该这样做吗?可能不是。 只需定义一个函数即可完成您想要的操作。如果您只是担心代码变得很长并且想要单行代码,则可以使用 lambda 函数。 long_f = lambda a,b,c: a*0.123 + a*b*5.6 - 0.235*c + 7.23*c - 5*a*a + 1.5 long_f(1,2,3) == 28.808 当然,你的第一个示例在 Python 中已经更漂亮了。 for i in range(a,b): ... 编辑:为了完整起见,我应该按要求回答问题。如果您绝对必须预处理 Python 代码,则可以使用任何专为网页等模板化而设计的编程语言。例如,我听说 PHP 用于预处理代码。您无需编写 HTML,而是编写代码。当您想要预处理某些内容时,您可以执行 PHP 块。 好吧,如果您要执行一些可以提前执行的非常困难的计算,那么,也许这是有道理的:通常用户对快速程序而不是慢速程序更满意。 但是,当谈到“原始性能”(即算术计算的速度)时,我担心 python 并不是一个好的选择。至少如果我们谈论标准 python 实现,称为 CPython。 或者,您可以检查其他变体: PyPy。这是纯 Python 中的替代 Python 实现。感谢 JIT 编译器,它提供了更好的性能,但需要更多的内存。 Cython。这是 Python 的扩展,它允许人们[方便地]为代码的性能关键部分创建可编译的片段。 使用您喜欢的任何外部预处理器。我首先想到的是M4和FilePP,但是它们有很多。 答案是否定的,在 python 中,你实际上不能像 C、C++、PL/1、汇编器等那样包含“内联/流/任何内容”的代码。此功能的实现发生在初始宏/处理器/语法期间经过。它可以很容易地添加,并且有很多原因可能希望直接内联包含代码而不将其作为函数的一部分。此功能使得在多个类或函数定义中使用相同的代码片段成为可能。例如,如果没有它,在多个类中定义相同的 GTK+ 元素会很痛苦。这种能力的缺乏与解释无关,因为它发生在句法分析之前。它不包含在 perl 和 python 等解释性脚本语言中,只是因为开发人员不想提供该功能。 import inspect frame = inspect.currentframe() print(f"{frame.f_lineno}\tdebugtext") l = lambda: frame.f_lineno print(f"{l()}\tdebugtext")

回答 4 投票 0

禁用宏,然后禁用块

使用像assert()这样的宏,我可以像#define assert(_expr_) (void)0一样定义它,使其在编译时被删除,并且编译器不会尝试评估它的参数。 但我...

回答 1 投票 0

Nim:.dirty 的类似物。宏的编译指示

我正在尝试编写一个宏,其中除其他外,它为将在宏外部定义的过程提供前向定义。但是,我收到错误。 (这类似于...

回答 1 投票 0

Proc宏执行顺序

我有一个 proc 宏,如下所示: #[proc_macro_attribute] pub fn my_macro(_meta: CompilerTokenStream, input: CompilerTokenStream) -> CompilerTokenStream { //* 代码位 */ } 然后我...

回答 1 投票 0

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