首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"|...|“代表什么?

"|...|“代表什么?
EN

Stack Overflow用户
提问于 2012-03-01 10:36:37
回答 3查看 904关注 0票数 5

下面的代码片段中的:|temp files|是什么意思?

代码语言:javascript
运行
复制
(defmethod acceptor-remove-session ((acceptor my-site-acceptor) (session t))
    (declare (ignore acceptor))
    (loop for path in (session-value :|temp files|)
     do
         (ignore-errors (delete-file path))))
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-01 10:43:41

在Common Lisp中,|...|可以用来引用符号名称中的字符;它可以转义通常不允许的字符,例如空格,它还可以禁用大小写转换。

  • foo:foosymbol-name"FOO"
  • |temp files|:|temp files|symbol-name"",否则不可能生成

(这里的冒号具有关键字符号( KEYWORD包中的符号)的通常含义,并且独立于横线。)

当任务本身适合使用符号,而不是根据Common Lisp约定命名的符号时,|...|很有用。我假设在这种情况下,文本“临时文件”出现在程序输出中的某个位置,或者用作文件名,或者在其他情况下看到TEMP-FILES会很烦人。

票数 9
EN

Stack Overflow用户

发布于 2012-03-02 03:48:09

|是常见Lisp符号中的多重转义字符:

代码语言:javascript
运行
复制
? 'aaBBcc|DDeeFFgg|hhII|jjKK|LL

-> |AABBCCDDeeFFggHHIIjjKKLL|

竖线不需要包含整个符号名称。它还可以转义符号的某些部分。

票数 4
EN

Stack Overflow用户

发布于 2012-03-01 11:17:49

Common Lisp允许符号名称包含大范围的字符,比如?%,这是大多数语言不允许在其标识符中使用的。即使这样,有时程序员也希望符号名称包含超出正常允许范围的内容,例如OP示例中的|temp files|中的单个空格。需要两个竖线(|)字符来分隔此类符号的名称。此外,与未分隔的符号名称不同,这种以竖线分隔的符号名称区分大小写。

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

https://stackoverflow.com/questions/9509832

复制
相关文章

相似问题

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