繁体   English   中英

如何在常见的lisp中格式化单个反斜杠?

How do I format a single backslash in common lisp?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我目前正在尝试在GNU Common lisp 2.49中获得... \\hline的输出,但我无法使格式工作。 这是我到目前为止尝试获得一个反斜杠:

(format nil "\ ") => " "
(format nil "\\ ") => "\\ "
(format nil "\\\ ") => "\\ "

我认为双反斜杠会使它工作,为什么反斜杠不会逃避另一个反斜杠?

2 个回复

参见例如:

CL-USER> (write "\\" :escape nil)
\
"\\"

在上面,第一个反斜杠是你的字符串,打印时没有转义反斜杠。 返回的值是由REPL使用标准io语法( http://clhs.lisp.se/Body/m_w_std_.htm )打印的字符串,它会转义字符串。

因此,您的字符串包含一个反斜杠,但是以可以回读的方式打印,因此需要转义输出字符串中的反斜杠。

另请注意,使用NIL和单个字符串调用format返回相同的字符串。

您可以检查字符串,例如通过将每个字符映射到其名称:

(loop
   for input in '("\ " 
                  "\\ "
                  "\\\ ")
   collect (list :input input
                 :characters (map 'list #'char-name input)))

这给出了:

((:INPUT " " :CHARACTERS ("Space"))
 (:INPUT "\\ " :CHARACTERS ("REVERSE_SOLIDUS" "Space"))
 (:INPUT "\\ " :CHARACTERS ("REVERSE_SOLIDUS" "Space")))

或者,只需使用inspect

CL-USER> (inspect "\\hline")

The object is a VECTOR of length 6.
0. #\\
1. #\h
2. #\l
3. #\i
4. #\n
5. #\e

注意创建字符串和实际输出到流之间的区别:

CL-USER 69 > (format nil "\\ ")
"\\ "                               ; result

CL-USER 70 > (format t "\\ ")
\                                   ; output
NIL                                 ; result

CL-USER 71 > (format *standard-output* "\\ ")
\                                   ; output
NIL                                 ; result
2 如何在JSON中格式化反斜杠-iOS

我正在使用RestKit调用服务(这是.NET Web服务),作为参数之一的所需日期格式是"\\/date(3467348+0000)\\/"因此我将日期格式设置为所需格式并发送,问题是当我检查日志时,HTTP请求将日期显示为"\\\\\\/date(3467348+0000)\\\\\\/" ...

4 在php中格式化路径斜杠和反斜杠是否重要?

这个问题已经在这里有了答案: 正斜杠和反斜杠之间的区别[重复] 4个答案 我发现即使指定路径的斜杠不正确,我的php程序也能正常工作。 \\ cache / wordinfo \\ h \\ 1 \\ 2 /世界 格式化斜杠和反斜杠路径字符串是否重 ...

2016-08-31 13:33:00 2 35   php/ path
8 如何在 Spark 中格式化单个输出值?

我是 Spark 的新手。 有人可以帮助我解决以下错误(见附图)。 我试图将 pct 格式化为 2 位小数。 我想知道为什么我不能使用 format_number 将输出“pct”四舍五入到 2 个小数位? 那是因为我只能在 Spark 中使用 DataFrames 吗? 谢谢! ...

9 用反斜杠格式化字符串

我是c#的新手,所以希望这对你们中的一些人来说并不难。 我正在尝试构建一个包含\\的字符串,即使我添加了额外的转义字符或者忽略它们,我也很难得到一个反斜杠。 有人能告诉我我做错了什么吗? 我希望我的字符串看起来像: 到目前为止我尝试过的: 我添加了一个额外的字符,以使 ...

2010-09-14 18:22:55 4 8483   c#
10 如何在jsf中格式化double

我想格式化一些双重变量,例如“ 12.0,13.5”。 我只想显示12.0为12。13.5为13.5。 我尝试了f:convertNumber标签。 还尝试了https://stackoverflow.com/questions/10412908/displaying-a-number-i ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM