最近一篇关于Ruby解构的好文章将解构定义为能够将一组变量绑定到相应的一组值上,无论在何处,你都可以将其绑定到单个变量的值,并且举了一个块解构的例子。 文章链接
我们希望获得每个子数组的第一个条目的元素?
triples = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
triples.each { |(first, second, third)| puts second } =>#[2, 5, 8]
在这种情况下,我们知道主数组中元素的数量,因此当我们提供参数first,second,third时,我们可以得到相应的结果。那么如果我们有一个数组大小在运行时确定的数组呢?
triples = [[1, 2, 3], [4, 5, 6], [7, 8, 9],...,[]]
我们希望获得每个子数组的第一个条目的元素?
triples.each { |(first, second, third,...,n)| puts first }
如何动态创建本地变量 (first, second, third,...,n)
是最佳的方式?