[英]Is there a clojure function between read-string and load-string?
[英]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.