问题标签 [backquote]
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.
common-lisp - 引用宏定义宏
我正在尝试编写一个宏来定义数组结构数据结构的一些帮助程序(基于此代码段)。在该宏中,我定义了另一个宏,它有助于遍历 struct 中的所有槽值。问题是我无法使双重取消引用正常工作。这是代码:
因此,例如(defcomponent buzz x y)
宏扩展为
这有点工作,但我想访问components
内部with-buzz
宏的参数,即像这样
我怎么可能做到这一点?我已经尝试了很多的组合,
和,@
无济于事。
bash - 使用或不使用反引号的区别
使用或不使用BACK QUOTE 有什么区别
例如,这两个代码都可以正常工作。
第一个带有BACK QUOTE 的示例,第二个没有BACK QUOTE 的示例。
非常感谢您的帮助。
escaping - ',(引号逗号)在普通 lisp 中
',
lisp中反引号表达式的作用和用途是什么?它有名字吗?它是否记录在某个地方?它有多普遍和有用?
例如:
我的猜测是,在这里它将exp
在宏扩展时采用字面上的任何内容,并',exp
用它替换。(与评估exp
和替换,exp
它相反)。
ruby - Ruby:如何在字符串中插入三个反斜杠?
我想在 ruby 中使用反引号进行程序调用。该参数是一个包含一个或多个反引号的字符串变量,即“&E?@@A`?”。以下命令产生一个新标签作为其返回值:
从 ruby 程序中,我可以按如下方式调用它并获得正确的结果:
我想使用标签的变量来实现相同的目的。所以我必须在变量 label = "&E?@@A`?" 中插入三个斜杠。为了逃避反引号。以下似乎工作,虽然它不是很优雅:
但是新变量不能在程序调用中使用:
在这种情况下,我没有从 nauty-labelg 得到答案。
variables - '符号作为变量的值是 void:' 当在 lambda 内的 defun 上使用参数时
我想让这个函数设置键绑定更短。
然后我用 2 个参数(键绑定和应用程序名称)编写更短的函数
当我尝试将密钥作为参数时,它将起作用
但是,当我尝试编写这样的函数时
或者
它引发错误:
javascript - 如何在反引号或反引号内转义嵌套的单引号
假设我们在 ES6 中有以下模板文字。
我们如何转义单词It's中的单引号
另外,假设我们有以下模板文字:
我们如何逃避\n
上面的。
macros - 在 Common Lisp 中通过循环生成包括取消引用拼接的代码
我正在编写一个宏来生成 Common Lisp 中另一个宏使用的代码。但是我对此很陌生,并且很难构建一个接收列表(bar1 bar2 ... barn)
并通过循环生成以下代码的宏。
我想知道这是否可以在不涉及依赖SB-IMPL::UNQUOTE-SPLICE
于实现的单词(例如 sbcl)的情况下实现。
也许我没有对我的问题给出明确的描述。事实上,我想写一个gen-case
这样的宏
产生类似的东西
在一般情况下,被接受的列表gen-case
可能包含两个以上的项目。我努力了
但是目标代码被插入到quote
块中,因此在调用宏的宏中抛出异常gen-case
。此外,我无法插入,@
目标代码,因为直接插入会导致“逗号不在反引号内”异常。
生成的代码是另一个宏的一部分
我已经设置了一个读取宏
的本意DSI-Layer
是添加一段代码来判断输入参数的类型。例如,代码
将转换为
现在我只是想知道是否DSI-Layer
可以gen-case
通过将类型名称和相应的代码模板传递给它来从另一个宏生成。
顺便说一句,我认为生成代码的具体含义在我的问题中并不重要。它们只是被视为数据。
assembly - 读取文件的内容并将其打印到汇编 x64 中的标准输出
我写了一个非常简单的汇编程序(x64,linux),它从 /etc/passwd 读取内容(从哪里并不重要)并将其写入标准输出。我用 nasm ( ) 编译它nasm -f elf64 foo.asm -o bar
。我收到以下错误:./bar: 24: Syntax error: EOF in backquote substitution
这是我的代码:
是否也可以获得有关错误的更多信息?该程序编译在 nasm 中没有错误。谢谢 :)!
linux - vagrant 命令中的反引号
我的朋友们,出于学术原因,我正在我的 Windows 10 上开发一个 vagrant 引导系统。我需要使用带有反引号的不同命令,这些命令应该可以使用“alt gr”+“'”,但它不起作用。我已经尝试了所有可能的组合并在网上搜索过,但我没有弄清楚。有什么建议可以解决这个问题吗?即使你有一些重新映射的键盘命令
macros - 为什么这个 Common Lisp 宏不起作用?书上的答题卡错了吗?
我正在尝试通过Common Lisp:符号计算的简单介绍一书来学习 Common Lisp 。此外,我正在使用 SBCL、Emacs 和 Slime。
在第 14 章,最后一章,作者介绍了宏。出现以下问题:
编写一个名为的宏
VARIABLE-CHAIN
,它接受任意数量的输入。表达式(VARIABLE-CHAIN A B C D)
应扩展为设置为A
、’B
和B
的’C
表达式。C
’D
答案纸是:
从pdf复制并粘贴到这里:
在 Emacs 中,我使用这个hack来删除智能引号。将它粘贴到 Emacs 中,我得到:
不幸的是,我无法将它编译为 Slime 的 REPL,它会引发错误:
我尝试更改'(progn
为:
但它也没有工作:"comma not inside a backquote"
。
我做错什么了吗?或者,答题卡不正确?
谢谢。