Arrays Ruby数组和.max

Arrays Ruby数组和.max,arrays,ruby,max,Arrays,Ruby,Max,我在这里很困惑 为什么[“4”、“5”、“29”、“54”、“4”、“0”、“-214”、“542”、“-64”、“1”、“-3”、“6”、“-6”]。最大值 返回6而不是542 从数组中删除6后,返回542 使用.min也可以正常工作 /心神不宁 作为参考,我一直在使用CodeWars、tutorialspoint.com和labs.codecademy.com/中的Ruby IDE,因为这是一个字符串数组,所以应该将元素转换为数字 ["4", "5", "29", "54", "4", "0

我在这里很困惑

为什么
[“4”、“5”、“29”、“54”、“4”、“0”、“-214”、“542”、“-64”、“1”、“-3”、“6”、“-6”]。最大值

返回
6
而不是
542

从数组中删除6后,返回542

使用
.min
也可以正常工作

/心神不宁


作为参考,我一直在使用CodeWars、tutorialspoint.com和labs.codecademy.com/

中的Ruby IDE,因为这是一个字符串数组,所以应该将元素转换为数字

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].map(&:to_i).max
=> 542
ruby通过ASCLL值比较单词和字符

"6" > "542"
=> true
您可以通过
每个字节获得字符的ASCll值:

"0123456789".each_byte { |e| puts e }    
49
50
51
52
53
54
55
56
57

因为这是一个字符串数组,所以应该将元素转换为数字

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].map(&:to_i).max
=> 542
ruby通过ASCLL值比较单词和字符

"6" > "542"
=> true
您可以通过
每个字节获得字符的ASCll值:

"0123456789".each_byte { |e| puts e }    
49
50
51
52
53
54
55
56
57

因为这是一个字符串数组,所以应该将元素转换为数字

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].map(&:to_i).max
=> 542
ruby通过ASCLL值比较单词和字符

"6" > "542"
=> true
您可以通过
每个字节获得字符的ASCll值:

"0123456789".each_byte { |e| puts e }    
49
50
51
52
53
54
55
56
57

因为这是一个字符串数组,所以应该将元素转换为数字

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].map(&:to_i).max
=> 542
ruby通过ASCLL值比较单词和字符

"6" > "542"
=> true
您可以通过
每个字节获得字符的ASCll值:

"0123456789".each_byte { |e| puts e }    
49
50
51
52
53
54
55
56
57

它是一个字符串数组,所以它被视为字母与数字。这意味着就像
“za”
“azzzzz”
之后一样,
“6”
“5”
之后。类似地,
“51”
将位于
“5”
之后,就像
“ab”
将位于
“a”
之后一样,依此类推。

它是一个字符串数组,因此被视为字母顺序与数字顺序。这意味着就像
“za”
“azzzzz”
之后一样,
“6”
“5”
之后。类似地,
“51”
将位于
“5”
之后,就像
“ab”
将位于
“a”
之后一样,依此类推。

它是一个字符串数组,因此被视为字母顺序与数字顺序。这意味着就像
“za”
“azzzzz”
之后一样,
“6”
“5”
之后。类似地,
“51”
将位于
“5”
之后,就像
“ab”
将位于
“a”
之后一样,依此类推。

它是一个字符串数组,因此被视为字母顺序与数字顺序。这意味着就像
“za”
“azzzzz”
之后一样,
“6”
“5”
之后。类似地,
“51”
将位于
“5”
之后,就像
“ab”
将位于
“a”
之后一样,依此类推。

字符串与

您可以使用指定如何比较它们:

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].max_by(&:to_i)
#=> "542"
字符串与字符串进行比较

您可以使用指定如何比较它们:

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].max_by(&:to_i)
#=> "542"
字符串与字符串进行比较

您可以使用指定如何比较它们:

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].max_by(&:to_i)
#=> "542"
字符串与字符串进行比较

您可以使用指定如何比较它们:

["4", "5", "29", "54", "4", "0", "-214", "542", "-64", "1", "-3", "6", "-6"].max_by(&:to_i)
#=> "542"

这是因为你在比较字符串而不是数字。“6bd”在词汇上比“542”大,因此“6”也是如此。哦,明白了!这是有道理的。。。。。谢谢你,马丁!如果希望数组中字符串表示的最大整数
a
,可以通过(&:to_i)#=>“542”
写入
a.max\u。这是因为您在比较字符串而不是数字。“6bd”在词汇上比“542”大,因此“6”也是如此。哦,明白了!这是有道理的。。。。。谢谢你,马丁!如果希望数组中字符串表示的最大整数
a
,可以通过(&:to_i)#=>“542”
写入
a.max\u。这是因为您在比较字符串而不是数字。“6bd”在词汇上比“542”大,因此“6”也是如此。哦,明白了!这是有道理的。。。。。谢谢你,马丁!如果希望数组中字符串表示的最大整数
a
,可以通过(&:to_i)#=>“542”
写入
a.max\u。这是因为您在比较字符串而不是数字。“6bd”在词汇上比“542”大,因此“6”也是如此。哦,明白了!这是有道理的。。。。。谢谢你,马丁!如果您想要数组
a
中字符串表示的最大整数,您可以通过(&:to\u i)#=>“542”
写入
a.max\u。谢谢您的解释!谢谢你澄清胖胖!谢谢你澄清胖胖!谢谢你澄清胖胖!