首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LISP/CCL:将引号作为参数传递给“run”

LISP/CCL:将引号作为参数传递给“run”
EN

Stack Overflow用户
提问于 2022-10-28 10:13:42
回答 1查看 63关注 0票数 1

将引号传递给Clozure的运行程序的正确方法是什么?以调用echo ",应该返回“的简单例子为例。

然而,当我试图使用ccl: run -program运行这个命令时,如下所示,返回以下字符串:"\“而不是”\“。对于如何解决这个问题,有什么想法吗?最后的目标是将一个被引号包围的字符串作为参数传递给程序。

代码语言:javascript
复制
 (with-output-to-string (stream)
   (ccl:run-program "echo" (list  "\"") :output stream)
 )
EN

回答 1

Stack Overflow用户

发布于 2022-10-28 14:23:50

在尝试您的代码时,我看到以下输出:

代码语言:javascript
复制
Clozure Common Lisp Version 1.12 (v1.12) LinuxX8664

For more information about CCL, please see http://ccl.clozure.com.

CCL is free software.  It is distributed under the terms of the Apache
Licence, Version 2.0.
? (with-output-to-string (stream)
   (ccl:run-program "echo" (list  "\"") :output stream)
 )
"\"
"
? 

但是一些字符是在公共Lisp字符串中转义的,因此为了确定字符串包含什么,下面是不同的选项:

代码语言:javascript
复制
? (coerce * 'list)
(#\" #\Newline)

或,

代码语言:javascript
复制
? (describe **)
"\"
"
Type: (SIMPLE-BASE-STRING 2)
Class: #<BUILT-IN-CLASS SIMPLE-BASE-STRING>
Length: 2
0: #\"
1: #\Newline`

因此,据我所知,输出是理想的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74233859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档