2

所以我正在尝试从 PHP 过渡到 ruby​​(最终)。我正在尝试完成 ruby​​monk 挑战,但我被困在第三个挑战中。

挑战本身很简单,我已经找到了解决方案,但我无法弄清楚我正在查看什么类型的数据或如何正确处理它。

挑战只是希望您创建一个方法,该方法采用包含一些字符串的数组,并返回同一位置的每个字符串的计数。所以 ["I","suck","at","ruby"] == ["1","4","2","4"]。

那部分是 Ez-pz,但我一生都无法弄清楚如何正确处理输入。

它为您提供了一个方法外壳并告诉您完成它

def lenght_finder(input_array)
   #I added the print input_array
   print input_array #=> ["I","am","genius"]["things","are","","awesome"]
end

这是一个多维数组吗?我试图在 IRB 中复制这个

input_array = ["I","am","genius"]["things","are","","awesome"]

但它返回并出错

input_array = [["I","am","genius"],["things","are","","awesome"]]

有效,但这显然不一样。因此,我正在努力遍历数组以正确处理该数据。我无法input_array.flatten工作,或者input_array[0]返回“Ithings”。

这让我很困惑。我在看一个数组吗?多维数组?显然它不能是一个字符串。为什么访问时会跳过“am” input_array[0]

4

1 回答 1

4

哈,就像 Justin Ko 在上面的评论中所建议的那样,您所看到的是两次运行该函数的标准输出。

由于您使用print,因此没有换行符。改为使用puts

这应该可以帮助您更清楚地看到它:

def length_finder(input_array)
   puts '*** '+input_array.inspect
   return 0
end
于 2013-06-26T16:56:42.340 回答