gpt4 book ai didi

arrays - 这个数组语法在 Ruby 中意味着什么?

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:55 26 4
gpt4 key购买 nike

我刚看到这段代码:

@board=Array.new(7){Array.new(7)}

我从来没有在 ruby​​ 中见过数组的这种语法,搜索后我找不到太多关于它的内容。我真的不明白这里的花括号是怎么回事。我希望有人能给我一个简短的解释。谢谢!

最佳答案

new 的 block 语法允许您初始化单独的数组元素,可选地基于 index 数字。在您的情况下,未使用索引,但所有 7 个数组元素都使用同样包含 7 个元素的嵌套数组进行初始化,因此您得到一个 7x7“矩阵”。

举例说明:

$ irb
irb(main):001:0> Array.new(7)
=> [nil, nil, nil, nil, nil, nil, nil]

$ irb
irb(main):001:0> require 'pp'
=> true
irb(main):002:0> pp Array.new(7) {Array.new(7)}
[[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil]]

关于arrays - 这个数组语法在 Ruby 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com