macros 相关问题

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

将宏转换为函数,但无法使用 std::stringstream 连接输入

我目前有一个宏: #define MY_MACRO(cond, msg) \ 做 \ { \ 如果(!(条件))...

回答 1 投票 0

Common Lisp:如何在宏中使用宏?

我正在使用 cl-sdl2 编写一个应用程序(一个简单的游戏)。 cl-sdl2 包含一个名为WITH-EVENT-LOOP 的宏,可用于启动具有某些事件处理程序的SDL 应用程序。 目前我使用...

回答 1 投票 0

通过 VBA 更新过滤表中的单元格值

我正在尝试通过VBA更新Excel中过滤数据的列值 我写了一个小宏,它对下表进行过滤。 运行宏来过滤工作表后,我看到下面 现在我想要...

回答 1 投票 0

用于反转所选文本的Word宏

我想编写一个脚本来重新排列选定的行,其中第一行成为最后一行。 输入示例: 你好世界。 我的名字是汤姆。 我可能比你大。 也许不会。 样品欧...

回答 1 投票 0

导入的 Twig 宏不显示任何内容,即不工作

我正在尝试实现某种宏自动加载。 这个想法是定义一堆宏并在所有接下来的模板文件中使用它们。 我正在尝试这样做: 我正在尝试实现某种宏自动加载。 这个想法是定义一堆宏并在所有接下来的模板文件中使用它们。 我正在尝试这样做: <?php define('ROOT_FRONT', '/path/to/files/'); define('LAYOUT_DIR', ROOT_FRONT . 'layout/'); include(ROOT_FRONT . 'lib/Twig/Autoloader.php'); Twig_Autoloader::register(); $twig_loader = new Twig_Loader_Filesystem(array(LAYOUT_DIR, ROOT_FRONT)); $twig = new Twig_Environment($twig_loader, array( 'charset' => 'ISO-8859-15', 'debug' => !!preg_match('@\.int$@', $_SERVER['SERVER_NAME']), 'cache' => $_SERVER['DOCUMENT_ROOT'] . '/cache/twig/' )); $macro_code = ''; foreach(array_filter( array_diff( scandir(LAYOUT_DIR . 'macros/'), array('..','.') ), function($file) { return strtolower(pathinfo($file, PATHINFO_EXTENSION)) == 'twig' && is_file(LAYOUT_DIR . 'macros/' . $file); } ) as $file) { $info = pathinfo($file); $macro_code .= '{% import \'macros/' . $info['basename'] . '\' as macros_' . $info['filename'] . ' %}'; } $twig ->createTemplate($macro_code) ->render(array()); $twig->display('index.twig', array()); 如果我有一个文件,比如说,macro/clearfix.twig,它将在$macro_code中生成此模板代码: {% import 'macros/clearfix' as macros_clearfix %} macro/clearfix.twig里面的代码是这样的: {% macro clearfix(index, columns) %} {% if index is divisible by(columns) %} <div class="clearfix visible-md-block visible-lg-block"></div> {% endif %} {% if index is even %} <div class="clearfix visible-sm-block"></div> {% endif %} {% endmacro %} 然后,在index.twig里面,我有这个: {{ macros_clearfix.clearfix(index=2, columns=6) }} 但是什么也没有显示。 但是,以下代码可以工作: {% set index = 2 %} {% set columns = 6 %} {% if index is divisible by(columns) %} <div class="clearfix visible-md-block visible-lg-block"></div> {% endif %} {% if index is even %} <div class="clearfix visible-sm-block"></div> {% endif %} 我可能做错了什么? 我是否误解了什么或错误地应用了它? TL;博士: Twig 要求您将宏加载到将使用它们的文件中。 只需创建自定义函数即可完成您想要的操作。 Twig(至少 v1.30)没有实现宏继承。 这要求您加载要在每个文件上使用的每个单个宏。 做到这一点的唯一方法是使用完全用 PHP 编写的函数。 这就是我已经解决的问题: index.php: <?php define('ROOT_FRONT', '/path/to/files/'); define('LAYOUT_DIR', ROOT_FRONT . 'layout/'); include(ROOT_FRONT . 'lib/Twig/Autoloader.php'); Twig_Autoloader::register(); $twig_loader = new Twig_Loader_Filesystem(array(LAYOUT_DIR, ROOT_FRONT)); $twig = new Twig_Environment($twig_loader, array( 'charset' => 'ISO-8859-15', 'debug' => !!preg_match('@\.int$@', $_SERVER['SERVER_NAME']), 'cache' => $_SERVER['DOCUMENT_ROOT'] . '/cache/twig/' )); // ~ magic happens here ~ foreach(include(LAYOUT_DIR . 'fn.php') as $k => $fn) { $twig->addFunction(new Twig_SimpleFunction("fn_$k", $fn)); } $twig->display('index.twig', array()); fn.php: <?php return array( 'clearfix' => function($index, $columns){ $html = ''; if(!($index % $columns)) { $html .= '<div class="clearfix visible-md-block visible-lg-block"></div>'; } if(!($index & 1)) { $html .= '<div class="clearfix visible-sm-block"></div>'; } return $html; } ); index.twig: {{ fn_clearfix(index=2, columns=6) }} 这样,您的所有代码都会被整齐地索引,新函数会自动创建,并且很容易根据您的喜好进行扩展。 这可能是最糟糕的主意,但它确实有效。 宏 从 Twig 2.0 开始,文件中导入的宏在子模板中不再可用(例如通过包含调用)。您需要在使用宏的每个文件中显式导入宏。 来自 https://twig.symfony.com/doc/1.x/deprecated.html

回答 2 投票 0

是否有用于构建日期/时间的 MSBuild 宏?

假设我有一个带有目标部分的构建脚本,如下所示: ...

回答 2 投票 0

SAS 宏变量

我正在尝试创建一个需要引用 2 个日期的宏,我希望它成为 do 循环的一部分,这样我就不必输入 36 次日期。 这是我到目前为止所拥有的: PROC SQL NOPRINT; 选择MM...

回答 1 投票 0

nmake 根据目标修改宏

我有一个 Makefile.mak,我可以选择从基于 C 的源代码创建 test.exe 或 DLL。我正在使用 CL.EXE 和 NMAKE。 当目标是 TEST 时,我想像这样修改我的 CFLAGS 宏....

回答 2 投票 0

macroexpand-1 和 Macrolet 之间的意外交互

考虑 Common Lisp 中的以下形式序列(在 Windows 的 SBCL 2.4.2 中执行评估): (defmacro 双 g (x) (列表(引号 +)x x)) (macroexpand-1 (quote (double-g 3))) =>...

回答 1 投票 0

#pragma 曾经是 C++11 标准的一部分吗?

传统上,避免 C++ 中包含多个标头的标准且可移植的方法是使用 #ifndef - #define - #endifpre-compiler 指令方案,也称为宏保护方案(请参阅

回答 2 投票 0

C宏可以在flex中扩展吗?

据我所知,以下内容在 Flex 中不起作用: ... std::string opt_val = "--help"; %% opt_val { /* 做某事 */ } %% 我可以扩展 C 宏吗? 我试过这个: %{ #定义

回答 1 投票 0

`QFSFileEngine::open: 未指定文件名`从何而来?

我正在查看 Qt 项目代码库,它足够大,我无法找到以下内容的来源。 QFSFileEngine::open: 未指定文件名 到目前为止我尝试了两种方法: 我...

回答 1 投票 0

如何检查宏参数是否是 C 中的整数文字

我正在尝试做一个这样的宏: #定义字符串(i) \ 结构体 STRING##i \ { \ size_t 长度; \ 字符 字符[i]; \ } 但问题是这适用于 constexpr 参数,如下所示: 常量表达式 ...

回答 1 投票 0

为什么 clang 和 gcc 不会对此 openssl 宏产生强制转换警告,而是会产生其他警告?

考虑使用 -Wold-style-cast 编译以下代码 #包括 外部“C”{ #定义测试(int)123 } 长 BIO_ctrl(int bp, int cmd, 长 larg, void *parg); //...

回答 1 投票 0

宏中的多个值

我可以找到解析这个宏的帮助吗?语法看起来很熟悉但又很奇怪。 #define MACRO_NAME [0] = 值0, [1] = 值1, [2] = 值3 这是我在维护代码时遇到的一个宏。 任意

回答 1 投票 0

C 中类宏函数的语法

在网上,我读到要定义一个行为类似于函数的宏,语法是: #define foo(x,y) (栏((x),(y))) 但考虑到宏只是文本替换,为什么上面的语法...

回答 1 投票 0

如何保存包含“Escape”按键的 Vim 宏?

我经常使用以下 Vim 宏(它将当前行放在 XML 标签内): 我^[A 所以我将它保存到我的 .vimrc 中 让@e='I^[A' 但这不起作用。 该...

回答 8 投票 0

将标头导入到swift文件中时,如何为不同的目标定义条件宏?

我正在尝试将 Swift 类导入到 Xcode 中的 Objective-C 文件中。它工作得很好,基于将类暴露给 Objective-C 并导入 ProductModuleName-Swift.h Xcode 生成的文件。

回答 1 投票 0

如果依赖类型也在编译时定义,如何在编译时定义 std::variant?

是否可以使用宏或类似的东西来创建模板类的实例并生成代码,然后将创建的变量添加到使用 std::variant 的 std::vector 中? 考虑一下

回答 1 投票 0

Atlassian Confluence:访问页面时将显示弹出窗口的宏类型插件

非常基本的想法,我想在有人访问页面时显示一个弹出窗口。我写了一个示例代码。 实际上我想做的是创建一个具有主体的宏类型插件,这样我们就可以添加

回答 2 投票 0

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