簡體   English   中英

讀取字符串不會輸出完整的字符串Clojure

[英]Read-string doesn't output complete string clojure

我是函數編程的新手。 我正在學習Clojure。 我正在嘗試一些命令。 其中一些工作正常。 我在下面得到這個怪異的東西:

(read-string "1 2 3")
;;this ouputs
1

(read-string "[1 2 3]")
;;this ouputs
[1 2 3]

我想知道為什么在第一個中它不輸出完整的字符串。 但確實在第二個中輸出了它。 1 2 3

有什么原因嗎?


如果您想知道,我是在命令行上執行的。 沒關系。

您的示例均未輸出字符串。

就像文檔字符串所說的那樣:“從字符串s中讀取一個對象。”

在第一種情況下,對象為1 ,在第二種情況下,對象為[1 2 3]

要輸出字符串,對象必須是字符串,例如(read-string "\\"1 2 3\\"")

名稱為read-string的“ string”的含義是指示其參數是字符串,而不是其返回值。 這樣做的目的是從給定的字符串中解析出一條clojure語法,這在您的兩個示例中都是如此。 字符串"1 2 3"包含三種形式,而不只是一種形式。 read-string總是解析並返回一種形式,因此返回1是此處的預期行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM