Arrays 我是不是误解了';最小值';?

Arrays 我是不是误解了';最小值';?,arrays,ruby,Arrays,Ruby,我有: 我认为情况应该是这样的: array1 = [[0, 0], [2, 1]] array2 = [[1, 0], [3, 1]] 接下来,为什么下面的代码 array1[1][0] == [0, 2] array2[1][0] == [0, 3] 返回2 为什么2是二维数组中有三个0实例和三个1实例的最小值 我是否误解了min函数,或者我误解了使用二维数组时发生的情况?当[1][0]调用第一个数组时,您从中获取第二个数组[2,1],然后从获取的数组中获取第一个数字2 [array1[

我有:

我认为情况应该是这样的:

array1 = [[0, 0], [2, 1]]
array2 = [[1, 0], [3, 1]]
接下来,为什么下面的代码

array1[1][0] == [0, 2]
array2[1][0] == [0, 3]
返回
2

为什么
2
是二维数组中有三个
0
实例和三个
1
实例的最小值


我是否误解了
min
函数,或者我误解了使用二维数组时发生的情况?

[1][0]
调用第一个数组时,您从中获取第二个数组
[2,1]
,然后从获取的数组中获取第一个数字
2

[array1[1][0], array2[1][0]].min # => 2

[1][0]
调用第一个数组时,从中获取第二个数组
[2,1]
,然后从获取的数组
2
中获取第一个数字

[array1[1][0], array2[1][0]].min # => 2
它是这样的:

array1[1][0] => 2
array2[1][0] => 3
[2, 3].min => 2
根据你的反事实假设:

array1[1][0] == [2, 1][0] == 2
array2[1][0] == [3, 1][0] == 3
[array1[1][0], array2[1][0]].min == [2, 3].min # => 2
比较应为:

array1[1][0] == [0, 2]
array2[1][0] == [0, 3]
它是这样的:

array1[1][0] => 2
array2[1][0] => 3
[2, 3].min => 2
根据你的反事实假设:

array1[1][0] == [2, 1][0] == 2
array2[1][0] == [3, 1][0] == 3
[array1[1][0], array2[1][0]].min == [2, 3].min # => 2
比较应为:

array1[1][0] == [0, 2]
array2[1][0] == [0, 3]

“我相信应该是这样的[…]”–为了验证你的假设,启动,输入
array1=[[0,0],[2,1]]
,然后输入
array1[1][0]
。谁未经我的许可编辑了我那该死的帖子?引用帮助中心>特权>:“我们相信社区编辑的力量。这意味着,一旦您获得了足够的声誉,我们相信您可以编辑系统中的任何内容,而无需经过同行审查。不仅仅是你的帖子——任何人的帖子!“我相信应该是这样的[…]”——为了验证你的假设,启动,输入
array1=[[0,0],[2,1]]
,然后输入
array1[1][0]
。谁未经我的允许编辑了我那该死的帖子?引用帮助中心>特权>:“我们相信社区编辑的力量。”。这意味着,一旦您获得了足够的声誉,我们相信您可以编辑系统中的任何内容,而无需经过同行审查。不仅仅是你的帖子——任何人的帖子!“等等,你是说第一组括号代表[0,0]和[2,1],而第二组括号要么是0,0,2,要么是1?所以如果我调用array1[1][1],我是在看[0,0],并从数组中的该数组调用第二个零?因此,格式通常为:arrayofarraysname[arraywithinarray][elementofarray]?@AaronGodhard
[]
是一个返回对象的方法调用。如果接收器恰好是一个数组,那么返回值就是给定索引处的对象(从零开始),因此
array1[1]
返回第二个元素。如果该元素也是一个数组,那么
array1[1][1]
将返回其第二个元素。您还可以编写:
subarray=array=array[1] 
然后调用
子数组[1]
。同样的结果。@stefan你的回答完美地解释了我的问题-谢谢:)。所以基本上我在这里的想法是错误的;我不是同时调用两个子数组,而是调用一个子数组。等等。你是说第一组括号代表[0,0]和[2,1],而第二组括号将是0、0、2或1?因此,如果我调用array1[1][1],我将查看[0,0],并从数组中调用第二个零?因此,格式通常为:arrayofarraysname[arraywithinarray][elementofarray]?@AaronGodhard
[]
是一个返回对象的方法调用。如果接收器恰好是一个数组,那么返回值就是给定索引处的对象(从零开始),因此
array1[1]
返回第二个元素。如果该元素也是一个数组,那么
array1[1][1]
将返回其第二个元素。您还可以编写:
subarray=array=array[1] 
然后调用
子数组[1]
。结果相同。@stefan您的回答完美地解释了我的问题-谢谢:)。所以基本上我在这里用了错误的术语思考;我不是同时调用两个子数组,而是调用一个子数组。