我是一个Java和学习clojure.
什么是clojure的彻底解构?
我可以看到这篇博客说:
最简单的解构示例是分配向量的值.
user=> (def point [5 7])
#'user/point
user=> (let [[x y] point]
(println "x:" x "y:" y))
x: 5 y: 7
Run Code Online (Sandbox Code Playgroud)
他的意思是assigning the values of a vector什么?什么是真正的用途?
提前致谢
point是一个包含值向量的变量。[x y]是变量名的向量。
当您分配point给时[x y],解构意味着每个变量都被分配到值中的相应元素。
这只是一种更简单的写法:
(let [x (nth point 0) y (nth point 1)]
(println "x:" x "y:" y))
Run Code Online (Sandbox Code Playgroud)
请参阅Clojure let 绑定表单,了解使用解构的另一种方法。