Clojure REPL中的反斜杠是什么?

时间:2018-01-19 04:48:03

标签: string clojure character

我正在使用Clojure REPL,当我运行一些命令时,我会看到反斜杠。一些快速的谷歌搜索没有找到任何明显的答案。

如果我跑

body {
  font-family: Arial, Verdana, Helvetica, sans-serif;
}

.container {
  display: flex;
  flex-direction: row;
}

.content {
  flex: 1;
  min-width: 0;
  margin-right: 4px;
  padding: 4px;
  height: 60px;
  color: white;
  background-color: #2196f3;
}

这里的反斜杠是什么?

3 个答案:

答案 0 :(得分:3)

这意味着下面的字符应该被解释为文字。

  • 字符 - 前面加一个反斜杠:\ c。 \ newline,\ space,\ tab,\ formfeed,\ backspace和\ return产生相应的字符。
  • Unicode字符 - 用Java中的\ uNNNN表示。
  • 八进制 - 用\ oNNN表示。

有关详细信息,请参阅以下链接。

答案 1 :(得分:2)

在Clojure中,字符以反弹开头。有关Clojure语法的更多信息,请参阅Reader documentation

答案 2 :(得分:2)

当您在单个字符前看到斜杠时,这意味着它不是字符串,而是Java Char实例:

user=> (type \a)
java.lang.Character

在Java和Clojure中,String实例被视为一系列字符。这就是(nth ... 4)返回示例中第四个字符的原因。

此外,在字符串内部使用斜杠来引用其他一些字符。比如说,要在字符串中加一个双引号,你需要在它前面添加反斜杠:

(def message "User \"John\" not found")
;; User "John" not found

最后,反斜杠可能会指定一个机器方式符号,代表行结尾,制表符或其他:

(def header "Name\tAge\tCity")

此处,\t表示<TAB>符号。标题字符串将打印如下:

Name        Age        City