我今天看到了一段代码
#! cruby 1.9
lam = lambda do |(a,b),c|
#blahblah
end
Run Code Online (Sandbox Code Playgroud)
它似乎等于
lam = lambda do |l,c|
a,b = *l
#blahblah
end
Run Code Online (Sandbox Code Playgroud)
这种语法有'正式名称'吗?
是的,它被称为解构.
那么什么是解构?我发现最简洁的定义来自Common Lisp the Language.解构允许您将一组变量绑定到相应的值集合,您通常可以将值绑定到单个变量.这是Clojure的一个强大功能,可以让你编写一些非常优雅的代码.有关Clojure功能的更多信息,我建议您查看Jay Field 关于该主题的博客文章.虽然Ruby中的解构不如Clojure强大,但您仍然可以做一些很酷的事情.
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |