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