问题标签 [macros]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
70804 浏览

macros - 是什么让 Lisp 宏如此特别?

阅读Paul Graham关于编程语言的文章会认为Lisp 宏是唯一的出路。作为一个忙碌的开发人员,在其他平台上工作,我没有使用 Lisp 宏的特权。作为一个想了解嗡嗡声的人,请解释一下是什么让这个功能如此强大。

还请将此与我从 Python、Java、C# 或 C 开发领域理解的内容联系起来。

0 投票
3 回答
2168 浏览

c# - GUI 事件记录器和回放

我们正在编写一个相对重量级的 C# GUI,其中包含一些 syncFusion(GUI 框架)组件。我想添加客户端日志记录功能,QA 稍后可以使用它来回放客户端事件,以分析客户端在生产中使用的错误或其他工作流程。

是否存在这样一个用于记录和回放所有客户端击键、鼠标事件等的现成模块?(如果 C++ 模块可以很容易地集成到 Windows C# 客户端中,它也可以工作。)

我还想使用生成的日志来分析客户端的哪些功能使用最多,哪些功能很少使用,以确定哪些错误应该优先考虑,哪些功能应该删除/增强?所以基本上我希望客户端将日志写入本地磁盘或通过网络写回服务器。

我也有点担心性能,一些命中是可以接受的,但是知道每个事件的日志记录会降低客户端性能吗?

这里的重点是记录生产中的所有客户端事件,而不是 QA 测试本身。

根据 Aydsman 的评论进行编辑:在阅读了旧的类似讨论以及Benji 的网站后,看起来对这种类型的“仪表板”很感兴趣,但目前不存在开放或封闭的产品或解决方案。我在 Benji 的网站上发布了一个关于状态的问题,但网站看起来相当安静,自 6 月以来没有任何回复。Benji 的想法或多或少正是我所寻找的,但似乎还没有产品存在,这相当令人惊讶,我想缺乏现有产品意味着实现这样的系统一定比我最初想象的要复杂。会继续寻找,希望以后能找到一些东西。

0 投票
2 回答
740 浏览

macros - Common Lisp 初学者:动态定义包的宏观问题

仍在努力了解有关宏的最佳实践。我正在尝试编写一个动态定义包的宏。

这仅适用于以下表达式:

但是因为这样的事情而惨遭失败:

或者

我了解大多数基本宏是如何工作的,但是如何实现这个让我无法理解。

0 投票
1 回答
798 浏览

visual-studio - Visual Studio:MyMacros 不会出现在工具 > 选项 > 环境中。> 键盘

我写了一个宏来帮助我进行单元测试(它是从其他宏派生的,这些宏只是在您编写方法的名称时添加下划线,),当我转到工具 > 选项 > 环境 >然后键盘为其分配一个快捷方式,它在任何地方都找不到,没有“MyMacros”默认部分。有任何想法吗?

另外,宏浏览器选项不在工具菜单下,我需要按 ALT+F8 才能找到它,也许它们是相关的?

谢谢。

0 投票
4 回答
1491 浏览

user-interface - 具有简单的基于 GUI 的编辑器的非开发人员的宏/脚本语言

我们希望让人们能够在他们的帐户中添加一些逻辑(例如,给定一些参数,如何计算特定结果)。因此,从本质上讲,这相当于编写支持条件和表达式的简单业务规则。然而,挑战在于为他们提供一个简单的在线编辑器,他们可以在其中通过完全可视化的方式(最好是拖放 Expr-tree 节点——有点像 Y!管道)来创建逻辑。

有人知道可以让人们这样做的脚本/宏/域特定语言吗?挑战在于可视化编辑器,因为我们不希望投资开发 UI 来进行编辑。基本要求是:
1. 嵌入到另一种语言中,或安全运行(否reboot -n<JUNK-DANGEROUS-COMMAND> >> ~/.bashrc
2. 无需编码背景的用户即可轻松访问(不需要任何高级功能)
3. 最好有一个简单的基于 GUI 的编辑器来创建逻辑非开发人员可以访问的程序(有点像电子表格)
4. 生成编译时警告(无效代码)的能力会很好(类型安全?)
5. 能够在执行前嵌入一些解​​释器可用的数据(例如., name, birthday, amount)

有人试过做这样的事情并有任何想法吗?我查看了 Lua、Io、Python、Ruby 和许多其他工具,但挑战本质上是我不认为非程序员能够理解这么多代码。如果可以轻松开发编辑器,可以通过“元编程”添加一些东西来表示 Ruby 也很好!

0 投票
3 回答
894 浏览

c++ - 代码生成期间的宏替换

目前我有一些遗留代码,它生成操作码。如果代码有更多数量的宏,那么代码生成会花费很多时间(以小时计!!)。我已经完成了逻辑,他们通过搜索宏并替换其中的每个变量来处理宏,例如内联。
有没有一种方法可以在不操作字符串的情况下对其进行优化?

0 投票
3 回答
1851 浏览

java - JEdi​​t 宏 - 打开和保存文件

我有一个 JEdit (BeanShell) 宏,它打开一个特定文件,然后立即将文件保存到我的 c:\temp 文件夹中(这样我就不会意外更新真实文件)。

这是豆壳代码:

这给了我以下错误:

我尝试添加一个while循环来等待,直到 buffer.isLoaded() 它是真的,但这只是进入一个无限循环。
似乎起作用的是弹出一个消息框( Macros.message )。但是,我真的不想进行这种不必要的对话。

我不太了解java,所以如果我犯了菜鸟错误,请告诉我。

更新:

添加了我自己的答案以显示Serhii 的答案指向的代码。

0 投票
1 回答
646 浏览

visual-studio - 有什么方法可以从命令行运行宏(在打开的 VS 实例中)?

我通常每晚运行一个脚本,从 SVN 更新我的代码,然后构建它。最近几天,我有一个很长的调试运行,我想在晚上开始,这样它可以在我第二天早上来之前经历一两个小时才能遇到错误。到目前为止,我这样做的方式是在晚上晚些时候使用 VPN 来开始运行。

有什么办法可以让脚本告诉活动的 Visual Studio 实例执行宏?要么启动一个新实例,一旦它打开就会运行一个宏。这样我就可以自动化整个事情。

0 投票
7 回答
38184 浏览

c - C 预处理器宏是否可以包含预处理器指令?

我想做相当于以下的事情:

现在,#ifdef就我在函数宏中看到的而言,不允许使用或任何嵌套的预处理器指令。有任何想法吗?

更新:所以这似乎是不可能的。即使是在运行时检查的 hack 似乎也无法实现。所以我想我会选择类似的东西:

0 投票
1 回答
3506 浏览

visual-studio - 在 Visual Studio 中自定义生成后事件

有没有办法自定义构建后事件宏,我想将新程序集移动到由程序集版本命名的同一目录中的子文件夹,即

复制 $(TargetDir)$(TargetFileName) $(TargetDir)$( ASSEMBLYVERSION )\$(TargetFileName)

然而,没有这样的“宏观”。有点像这样构建可执行文件以获得版本

我们让 foo.bat 通过调用打印您传入的程序集版本的托管应用程序来评估目标的版本,例如 GetVersion.exe

有任何想法吗??当然有一种方法可以直接自定义宏??