Ruby Codefights没有将字符串隐式转换为整数

Ruby Codefights没有将字符串隐式转换为整数,ruby,Ruby,下面是一个代码: def allLongestStrings(inputArray) array = Array.new inputArray.each do |i| if inputArray[i].length == inputArray.max.length array << inputArray[i] end end return array end inputArray = ["aba

下面是一个代码:

def allLongestStrings(inputArray)
    array = Array.new
    inputArray.each do |i|
        if inputArray[i].length == inputArray.max.length
            array << inputArray[i]
        end
    end
    return array
end

inputArray = ["aba", "aa", "ad", "vcd", "aba"]
def allLongestStrings(inputArray)
array=array.new
inputArray.each do | i|
如果inputArray[i].length==inputArray.max.length
数组错误如下:

if i.length == inputArray.max.length # i instead of inputArray[i]
  array << i
end

访问ruby阵列的文档

您可以看到,“i”不是数组的位置,而是整个元素

那么,正确的代码应该是:

if i.size== inputArray.max.size
  array << i
end
如果i.size==inputArray.max.size

这是使用PHP思想编写的Ruby代码。检查下面的Ruby解决方案。
if i.size== inputArray.max.size
  array << i
end