我想在b.mak makefile中获取名为$(MYVAR)\ u的变量的值。
相反,我得到了“b.mak(2):致命错误U1001:语法错误:宏中的非法字符“$”
你可以用它做你想做的事
#----piotr1.mak----
全部:
nmake-nologo-f piotr2.mak MYVAR=BBB
#---结束---
#----piotr2.mak----
AAA_设置=17
BBB_设置=24
AVAR=$(MYVAR)\u设置
全部:
#创建并调用临时cmd文件
@
# ----
温柔点,因为我的macrofoo很弱
我想做的是这样的:
(defmacro foo [x] `(dosync (alter x# conj x)))
(defmacro bar [] `(let [x# (ref [])] (foo 3)))
这可能吗?我不能仅仅因为符号捕获而(让[x..)
(defmacro foo [x] `(dosync (alter ~'x conj x)))
(defmacro bar [] `(let [~'x (ref [])] (foo 3)))
注意:我
标签: Macros
ms-projectcolor-coding
这似乎应该是直截了当的,但我看到一些奇怪的行为。我正在尝试根据标志对任务进行颜色编码。它似乎正确地为任务着色,但在处理过程中的某个时刻,已着色的初始任务将重置为黑色。它所执行的任务似乎也相当不一致。以下是我尝试执行此任务的方式(简化为最简单的形式):
这段代码对于较小的数据集似乎工作得很好,但这个项目包含大约2000个任务。有什么想法吗?是的,我也有类似的问题::
For Each t In tsks
Select Case t.Text1
Case "COMPLETE"
标签: Macros
verificationspecman
我试图编写一个非计算的宏来定义带有循环的实例,例如,如果它是一个计算的宏,它应该是:
define <def_struct'statement> "def_struct <str_name'name> <number'num> to <other'name>" as computed {
result.add(appendf("extend %s { ", <other'name> ) );
我有一个宏:
(define-syntax inspect
(syntax-rules ()
[(_ x) (printf "~a is: ~a\n" 'x x)]))
其工作原理如下:
(let ([x 2]) (inspect x))
>> x is: 2
但我想做的是扩展它,以便
(_ x ...)
并循环提供各种值,相应地打印出它们的变量名和值
即
我对这部分有点迷恋
例如,对于类似以下内容:
(define-syntax (inspect stx)
(
我有一个excel模板,在快速访问工具栏(QAT)中有一个宏按钮。当我将模板保存为启用Excel宏的工作簿时,QAT中的按钮将链接回原始模板中的宏,而不是我刚保存的新文件中的宏。有没有办法让这个新文件中的QAT工具栏引用保存文件中的宏而不是原始模板?我终于找到了答案。我只需要为当前文档而不是所有文档添加它(默认)。与我的直觉相反。这可能与宏在每个选项中的存储方式有关
为了简洁的日志记录,我编写了如下宏:
-define(MY_MACRO(Expr, Params),
case Expr of
{correct_return, X} -> X;
Result -> io:format("Unexpected result (~p:~p): ~p", [ ?MODULE, ?LINE, [
{expr, ??Expr, Result},
{params, ??Pa
我正在研究Linux内核,在那里我遇到了多个具有以下语法的函数。我不明白这个语法的意思。我感兴趣的不是函数的功能,而是语法的含义
static int __init customize_machine(void)
{
...
return 0;
}
这里,init是一个宏。它说返回0,所以它返回一个int,但是_init宏在那里做什么呢
此外,宏位于函数名声明的末尾:
static noinline void __init_refok rest_init(void) __rel
我试图让自动热键每45分钟点击一个特定的屏幕区域。我想到了这个,但它似乎没有正确响应。
有人能提出建议吗
Loop,99
{
MouseClick, left, 392, 735
Sleep 2700000
}
Return
当你说回答不正确时,你能更具体一点吗?您的循环是否不工作,计时器是否给您带来问题,或者鼠标单击是否不工作。在某些浏览器中,我注意到您可能需要使用鼠标点击(有多种方法可以模拟鼠标点击[直到发送原始代码],并且有计时器可以设置点击时间)
如果您希望循环确实只运行9
我有一些通过AutoHotkey使用的键映射和宏。
我已将控件重新映射到capslock,并制作了一个宏,让我可以按^,用于home和^。为了结束。如果我按下capslock和“,”或“.”一次,效果非常好。但如果我继续按住capslock,然后再次按“,”或“.”,它只会插入字符。当我按下实际的capslock键时,我得到了预期的行为
我尝试了这个问题答案中的建议:
这是可行的——只是它将行为从行的开始/结束更改为文件的开始/结束
这是我的密码:
^,::Send, {Home}
^.::Se
这可能是一个非常简单的问题,但我正在为ImageJ编写一个小宏,无法访问结果日志中的值。以下是不起作用的代码:
selectWindow("Results");
test=getResult("channel",0);
print("test");
关于如何做到这一点有什么建议吗?谢谢。您指出这可能是由于插件未使用ImageJ的标准结果表所致,这是正确的。该插件使用一个函数来报告结果
我在github.com上提交了一份解决方案。合并此拉取请求并将其上载到斐济更新程序时,在运行Analyze>
我试着用Lisp做一件非常简单的事情——找到一种方法来打开一个全局有价值的nodebug t,然后一些调试格式的表单将保持沉默。为此,我发现我无法理解以下几点的区别:
(defparameter *nodebug* t)
(setf x 1)
;;; the basic function
(format t "x is ~a" x) ;;; generate -> x is 1
;;; try to use function not macro
(defun formatdf
假设我在ijulia的一个单元格中定义了少量函数(我使用的是JuliaBox)
我希望能够并行调用主函数n次。麻烦的是main调用了我定义的十几个助手函数
我是否必须在所有这些助手函数前面放置@everywhere
e、 g.是否有一个命令可以将全局级别定义的所有功能共享给所有流程?或者有没有办法共享函数列表(而不是将@everywhere放在函数声明中)。当我想在笔记本中执行此操作时,我通常将包含辅助函数的整个单元格包装在@everywhere中,如下所示:
@everywhere begin
我刚开始使用qlik view宏,只是想问一下,是否有任何库文件或API需要安装/添加才能使用宏。没有任何东西需要安装才能使用宏。只需在模块编辑器(Ctrl-m)中编写宏代码
请注意,在服务器环境中使用宏有一些限制(请参阅参考指南“QlikView服务器上的宏”一节)。我还建议在创建宏以执行函数之前,检查该函数是否由QlikView操作提供。操作是用本机代码编写的,通常执行得更好、更稳定 罗布,谢谢你的建议。我将从工作开始。
嗨,我需要帮助附加24个sas表。我想写一个附加24个表的宏。
如何以最少的键入量创建do循环。
谢谢
我认为您不需要宏。打字
data master;
set table1-table24;
run;
我已将您链接到一个类似于此的副本。还有许多其他问题也会问类似的问题,特别是搜索append,因为proc append更有效。
data master;
set table1-table24;
run;
我必须编写一个突出显示特定数字的宏(将背景色设置为黄色)
我已经写了一个宏,使用对象光标查找这些数字,但我不知道如何更改背景颜色
Dim Cursor As Object
Dim Proceed As Boolean
Cursor = ThisComponent.Text.createTextCursor()
Cursor.gotoStart(False)
Do
Cursor.gotoEndOfWord(True)
'some If statements that chec
我希望使用select into:在宏模块中创建全局变量
%macro example();
proc sql noprint;
select x into:DDD from aaa;
quit;
%mend;
问题是我希望创建一个全局变量DDD,在这个例子中,我们只能得到局部变量DDD。
谢谢
Wayne。我认为您无法在Proc SQL中控制范围。您可以在数据步骤中使用调用symputx来指定作用域
但是,通过Proc SQL在开放代码中创建的宏变量默认为全局变量。在
我正在努力编写正确的规则,其中涉及宏来识别文本中的组织
要识别Matrix Inc.,请参见:
随着股价的上涨,Matrix Inc.在本季度成为了赢家
我试图在实体中检查Inc之类的词,因此定义了宏和规则,如下所示:
$ORGANIZATION_TITLES = "/pharmaceuticals?|group|corp|corporation|international|co.?|inc.?|incorporated|holdings|motors|ventures|parters|llc|
是否有一种方法可以将某个“宏函数调用”的结果设置为调用实例的null
像这样:
class A {
// ...
macro function DestroyItself() {
// ...
}
}
var a:A = new A();
// ...
a.DestroyItself();
trace(a); // "null"
是的:
在非静态宏函数中,第一个Expr参数是对调用方实例的引用。一种方法是为任何实例创建null通用工具
package
我的宏是否卫生
when-b和when-c之间有什么区别吗?因为我没有使用rename或inject我想没有
我可以考虑何时是宏吗?我觉得我不能把它看作是一个严格的宏,因为我不使用定义语法,但是我不能说任何不喜欢这个实现的实际原因。
这类似于宏,但与真正的宏不完全相同,原因如下:
真正的宏和基于求值的“宏”之间的主要区别在于,在调用它之前,您的方法将求值它的所有参数。这是一个非常重要的区别。例如:(if#f(error“oops”)()将计算为(),但(when-a#f(error“oops”
我在使用自动热键脚本时遇到问题。我想让它做的是在我的键盘上按住A,我想让脚本点击鼠标按钮4,然后按住1,只要我按住A。当我发布A时,我希望脚本也发布1。
我对剧本的错误尝试是
a::
send {Xbutton1}
sleep 10
Send {1 down}
While GetKeyState(a, "p")
Sleep 10
Send {1 up}
Return
我遇到的问题是,脚本没有像我按住A一样按住1。在ahk方面有天赋的人知道我如何解决这个问题吗?虽然这个答案可能是正确和有
我正在制作一个具有foo功能的板条箱。这个板条箱有一个宏条根据是否设置了foo执行细微不同的操作
我可以复制整个宏:
#[cfg(feature = "foo")]
macro_rules! bar {
// Lots of rules...
( A ) => {
B
}
}
#[cfg(not(feature = "foo"))]
macro_rules! bar {
// Lots of rules...
( A ) =&g
我正在努力学习如何在Racket中编写宏。
我已经阅读了这篇优秀的教程,现在正在尝试基本的想法
因此,我定义的my if与教程中显示的稍有不同,我得到了一个错误define values:unbound identifier在:
#lang racket/base
(define-syntax (my-if stx)
(define-values (_ condition yes no)
(apply values (syntax->list stx)))
(datum-
我目前正在尝试创建一个宏,该宏将字符串的各个部分设置为全局变量列表,其中字符串的各个部分用“-”分隔,因此,例如,672-46-246将生成三个全局变量,即name2、name2和name4,分别称为672、46和246。还有一个name1,它是整个字符串的全局变量。但是无论如何,我有能力将整个字符串转换成一个全局变量,但是我在拆分它时遇到了困难。可能还有其他方法可以做到这一点,但我尝试做的是做一个for循环,循环有多少个“split”,即“-”,然后用这些split替换它。现在我试图找出有多少
我有一个宏类(HashCodeBuilder),它将散列函数注入另一个类。对于injectee类,我需要添加@:build(base.HashCodeBuilder.build())
但是我想使用一个自定义元数据别名@:build元数据并将参数传递给我的宏,因此
@:build(base.HashCodeBuilder.build())
我想用
@:hashcodebuilder({composeFields:[product.id, vendor.id]})
这可以通过使用带有@:bui
标签: Macros
coordinatescellimagejneuroscience
在我的论文中,我必须在免疫荧光染色的图片上计数细胞,我正在ImageJ中写一个宏来为我计数。
为此,我对图片进行颜色分割,分析红色通道中的颗粒(我的抗体颜色),然后我想获取分析颗粒的坐标,并且仅当在蓝色通道中的相同坐标处也有染色(DAPI-只是一般细胞染色)时才对其进行计数。
这样我可以保证尽可能少的灰尘。
问题是,当我从结果表中获取坐标并使用它们生成点(x,y)时,坐标是“扭曲的”——通常是正确的坐标,但加上4ish,尽管从来没有完全相同,这就是为什么我不能简单地从坐标中转移一个数
下面我首先
我正在编写的代码预计将在不同的硬件平台上运行。因此,我使用条件编译语句,具体取决于定义宏的硬件变量
因此,我有重复的宏名称。只要我们一次只能使用一个定义,它就可以工作。
但是,我希望将宏定义分组并复制到doxygen输出中,该输出将展示硬件变体
源代码是用C编写的,看起来与此类似:
/**
* \def foo
* \brief foo is oof
*
* \def bar
* \brief bar is fool
*/
#ifdef HW_A
/**
\addtogroup
如果宏(或等效宏),我需要一种定义标志的方法
FLAGS_IF(expression)
<block_of_code>
FLAGS_ENDIF
FLAGS\u IF(表达式)
标志(完)
在调试中编译时(例如,使用特定的编译器开关),编译为
if (MyFunction(expression))
{
<block_of_code>
}
if(MyFunction(expression))
{
}
然而,在发行版中不会产生任何指令,就像这样
#if 0
我有一个取实体的宏:
(defmacro blah [& body] (dostuffwithbody))
但我还想给它添加一个可选的关键字参数,因此当调用它时,它可能看起来像以下任何一个:
(blah :specialthingy 0 body morebody lotsofbody)
(blah body morebody lotsofboy)
我该怎么做?注意,我使用的是Clojure1.2,所以我还使用了新的可选关键字参数destructuring。我天真地尝试这样做:
(d
我正在尝试为define编写一个包装器,用于存储传递给它的值。我一直在以很小的步伐接近它(对于Lisp一般来说是新的,对于Scheme来说甚至是更新的),但是遇到了一堵墙
在《球拍》中,我从以下几点开始:
> (require (lib "defmacro.ss"))
> (define-macro (mydefine thing definition)
`(define ,thing ,definition))
> (mydefine a 9)
> a
9
我已经在Komodo Edit中为Smarty设置了一个宏,当我按下指定的键绑定(信息为Ctrl+Alt+p)时,它会添加一个{$|@dumpr}
我希望光标能自动插入$和|之间,这样我就可以键入变量名,而无需手动导航
有什么帮助吗
非常感谢。使用以下方法:
使用以下方法:
komodo.assertMacroVersion(2);
if (komodo.view && komodo.view.scintilla) { komodo.view.scintilla.focus();
我知道语法规则是一个卫生的宏系统,但我不明白为什么会发生这种情况:
(define not (lambda (x) x))
(define-syntax nand
(syntax-rules ()
((_ a b)
(not (and a b)))))
(nand #f #t)
==> #f
现在,如果我在定义宏之后重新定义了而不是,那么(nand#f#t)将返回#t。为什么,如果宏系统应该是卫生的?宏在定义宏时存在的环境中展开,而不是在调用宏时存在的环境中展
在编写Racket宏的上下文中,“3D语法”是什么意思
这个短语我已经听过好几次了。包括一次我写的宏的引用。但那是很久以前的事了;我把它修好了,现在我记不清我原来做错了什么
还有:3D语法总是不好吗?或者像eval(如果你认为你需要使用它,你可能是错的,但在专家的手中有一些有效的用法)语法对象通常被认为是公正的。3D语法削弱了这种情况:它允许我们潜入任意值,而不仅仅是普通数据。这就是为什么它们是“3d”的:它们是超出语法对象所期望的常规平面的值
例如,我们可以潜入lambda值
#lang ra
我正试图在Makefile中执行此操作:
VAL=
TARGET1:
VAL= ... #compute value of VAL
#run some command that uses the value of VAL
TARGET2:
$(MAKE) TARGET1
#run other command that uses the value of VAL
但事实证明,VAL的值在达到目标时被重置!在TARGET2中完成。因此,当我尝试在TARGET2中运
我定义了一个宏来创建一个新类,然后定义了一个常量来创建新定义类的实例:
(defmacro my-class (name inst)
`(progn
(defclass ,name nil nil)
(defconstant ,inst (make-instance ',name)))))
这似乎在REPL中起作用
(my-class x1025 y1025)
但在文件中编译它时不起作用:
There is no class named COMMON-LISP-USE
标签: Macros
openoffice-calcopenoffice-basic
我正在尝试在OpenOffice中创建宏,但是我找不到执行此操作的方法。我想复制一个特定的单元格,并在给定的列上复制过去的空白值
基本上是这样的
Copy "B2"
If "A1" blank paste
if false
move 1 cell lower
end if
类似这样的事情,我花了很多时间绘制流程图,并试图使编程正确,但我只是在这个问题上崩溃了。我非常感谢任何能找到正确答案的回复或指导,谢谢。有人刚刚在aoo论坛上给了我答案thank Through=COUNTA(Sheet2.
我正在尝试宏lambda列表的不同绑定模型
编辑:事实上,我的测试宏的lambda列表总是(&rest…)。这意味着我正在“解构”参数列表,而不是lambda列表。我试图找到一种解决方案,可以将可选参数与键参数或rest/body参数与键参数相结合——这两种组合在常见的Lisp标准实现中都不起作用
因此,我使用了不同的函数,为我提供了一个绑定列表,这些绑定具有与“let”相同的语法
例如:
现在我想在我的测试宏中使用一个简单的宏,将这样一个列表提供给“let”
如果我有一个文字列表,那么这很简单
我定义了以下简单宏:
(defmacro define-class (class-name)
`(defclass ,class-name ()()))
现在我想在以下函数中使用它:
(defun create-data (mode)
(define-class mode))
编译完最后一个函数后,我得到以下消息:变量模式已定义,但从未使用过
当我执行函数创建一个类“myclass”时,我得到的是创建一个类型为“mode”的类:
(创建数据“myclass”)
#
看来我的论点没
我很难获得宏的标题,因为出于某种原因,gplot例程生成的标题会覆盖预定义的标题(标题1)。我缺少什么
data one;
input state $2. sales @@;
datalines;
VA 5200
SC 9800
NC 7500
GA 12500
NY 17600
;
run;
goptions reset=all ftext='calibri' htext=2 gunit=pct;
symbol1 i=none f='calibri' v='$' h=4 c
Elixir 1.3.0-rc1编译器无法编译我的一个宏。
在《长生不老药1.2.6》中还可以
defmodule M do
defmacro ifa(a, exp) do
if (Macro.expand_once(a, __ENV__)), do: exp
end
end
defmodule Foo do
@flag true
require M
def main do
M.ifa (@flag), do: IO.puts 123
end
end
上下文类型为building macro。我的目标是产生
super(arg1, arg2, arg3)
我所拥有的:
Array<FunctionArg> => [{ meta => null, name => foo, type => TPath({ name => StdTypes, pack => [], params => [], sub => Int }), opt => null, value => null
我有两个版本的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。此代码不能正常工作(实际上,它不导入任何内容)
这是工作版本,但是,我不喜欢有两个独立的quote部分
defmodule SomeModule do
defmacro __using__(opts \\ []) do
if Keyword.has_key?(opts, :my_key) && o
我在freemarker中有一个宏
<#macro printHelloWorld var1 var2>
${var1}
${var2}
</#macro>
${var1}
${var2}
当我把这个宏称为
<@macro printHelloWorld var1="hello" var2="world" />
它以预期的方式打印它
你好
世界
然而,我的问题是我想动态地传递这个变量名。我从一个源动态接收宏参数,
我
下面是我试图为正在处理的RPC库实现的宏的简化版本:
#[macro_export]
macro_rules! msgpack_rpc {
(
$(
rpc $name:ident ( $( $arg:ident : $arg_ty:ty ),* ) -> $ret_ty:ty | $err_ty:ty;
)+
) => (
pub trait Service {
$(
我正在测试宏循环。代码很简单,但总是出现错误消息“宏函数%SCAN的参数太多”。我不明白原因。有人能解释吗?谢谢
代码是:
%macro test;
proc sql;select distinct tj, max(tj) into: tp separated by ",", : maxtp from ASA_k where tj>0;quit;
%do i=1 %to &maxtp.;
%let timep=%scan(&tp.,&i.,",")
我正在从事一个C/C++项目,并安装了EclipseOxygenCDT。我的代码使用一些宏,这些宏是在运行时使用gcc的-D标记提供的。因此,我在项目属性>>C/C++常规>>路径和符号>>符号下定义了它们
在我写的代码中:
char *address = DEFAULT_SETUP;
在符号中,我使用值前缀/etc/PROJECT定义了默认设置,其中前缀依次被赋值为/usr/local,项目具有值FirstC
每当我将光标放在DEFAULT\u SETUP上并按CMD+#查看宏展开时,我会得
我正在尝试使用%STR函数来屏蔽字符串中的%。代码如下:
options symbolgen;
%let grp=%str(%C16F%);
%put group is &grp;
它不起作用。实际上,当我点击代码后,SAS什么也不做。什么也没发生
你知道原因吗?如何修复它
谢谢你的帮助!
L.字符串中的%STR()需要您在第二个%前面添加额外的%,否则它会认为您试图使用%来转义右括号。这就是为什么看起来什么都没有运行。%LET语句仍在等待查看%str()函数调用的结束和终端
%let
我想在Aginity Netezza宏中放置一个名称列表。例如,我希望能够在将来的查询中反复使用列表(“Adam”、“Bill”、“Cynthia”、“Dick”、“Ella”、“Fanny”),例如在WHERE子句中
我的问题是:
(1) 我可以在查询参数编辑器的“值”窗口中输入多少字符有限制吗?
(2) 有没有一种不用宏就可以工作的方法?例如,在某个地方预定义此列表?我会将列表放入一个(临时)表中,并在必要时简单地连接到它:
Create temp table names as
Select
我需要在scheme中编写lisp宏(请使用宏和语法规则等),它将函数调用和列表作为参数
我希望调用该函数的函数和宏具有如下语法:
(foo '(10 (a (lambda () (display "10")) b (lambda () (display "20"))))
或不带引号的宏
我的最后一段代码正在运行,但不确定您是否打算这样编写函数/宏。似乎我需要双引号,但不知道如何写。(我现在正在读Paul Graham的《在嘴唇上》一书,他说双反引号是非常困难的,只有定义宏的宏才需要双反引号,
我试图对一个每周都要运行的报表使用宏,但每个报表上的行数都会发生变化。我希望公式转到数据集的末尾。这就是目前的公式
Range("I2").Select
Selection.AutoFill Destination:=Range("I2:I13404")
Range("I2:I13404").Select
我可以用.end替换I13404吗
谢谢你的帮助
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 57 页