字符*
和?
被用作路径名中的通配符。如何引用一个文件名为?
作为其实际字符之一?例如: [18]> (wild-pathname-p #p"foo") NIL [19]> (wild-pathname-p #p"foo?") T
所以引用文件名“foo?”不能这样做。我试图用反斜杠来避开?
,但那没有奏效。我试着用\u3f
或\u003f
去unicode,但那不起作用。Common Lisp中的路径名,其中包含通配符的文件名
如何引用包含通配符作为其名称一部分的文件:如何探测,打开它等?
SBCL表现出与CLISP类似的行为,所以显然常见的lisp标准不包括转义通配符的机制,这很奇怪。 奇怪的是,cltl2(第628页)给出了一个用于路径名称字符串的BNF,它不包含'?'字符。只有'*'广告'**' –
SBCL支持使用反斜杠进行转义。 – Xach
在路径名组件中使用'*'和'?'进行Unix风格的匹配是路径名和名称字符串语法的非标准但频繁的扩展。 – Xach