读取字符串不输出完整的字符串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
有什么原因吗?
如果你想知道,我是在命令行上做的。这真的不重要。
None 你的例子输出一个字符串。
正如文档字符串所说:"Reads one object from the string s."
在第一种情况下,对象是 1
,在第二种情况下,对象是 [1 2 3]
。
要输出字符串,对象必须是字符串,例如。 G。 (read-string "\"1 2 3\"")
名字read-string
中"string"的意思是表示它的参数是一个字符串,而不是它的return值。它的重点是从给定的字符串中解析一段 clojure 语法,这在您的两个示例中都是这样做的。字符串 "1 2 3"
包含 三个 形式而不是只有一个。 read-string
始终解析并 return 是单一形式,因此 returning 1
是此处的预期行为。
我对函数式编程还很陌生。我正在学习 clojure。我正在尝试一些命令。其中一些工作正常。我在下面得到了这个奇怪的:
(read-string "1 2 3")
;;this ouputs
1
(read-string "[1 2 3]")
;;this ouputs
[1 2 3]
我想知道为什么第一个没有输出完整的字符串。 但确实在第二个输出它。 1 2 3
有什么原因吗?
如果你想知道,我是在命令行上做的。这真的不重要。
None 你的例子输出一个字符串。
正如文档字符串所说:"Reads one object from the string s."
在第一种情况下,对象是 1
,在第二种情况下,对象是 [1 2 3]
。
要输出字符串,对象必须是字符串,例如。 G。 (read-string "\"1 2 3\"")
名字read-string
中"string"的意思是表示它的参数是一个字符串,而不是它的return值。它的重点是从给定的字符串中解析一段 clojure 语法,这在您的两个示例中都是这样做的。字符串 "1 2 3"
包含 三个 形式而不是只有一个。 read-string
始终解析并 return 是单一形式,因此 returning 1
是此处的预期行为。