苦苦挣扎以理解阵列

时间:2013-06-26 16:43:56

标签: ruby

所以我试图从PHP转换到ruby(最后)。我正试图完成红宝石挑战,但我仍然坚持第三次挑战。

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

挑战只是希望您创建一个方法,该方法接受包含一些字符串的数组,并返回相同位置的每个字符串的计数。所以[“我”,“吮吸”,“在”,“红宝石”] == [“1”,“4”,“2”,“4”]。

那部分是Ez-pz,但我不知道如何正确处理输入。

它为您提供方法的shell并告诉您完成它

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”。

这令我感到困惑。我在看一个阵列吗?一个多维数组?显然它不能成为一个字符串。访问input_array[0]时为什么跳过“am”?

1 个答案:

答案 0 :(得分:4)

哈,就像Justin Ko在上面的评论中所说,你所看到的是两次运行该功能的标准。

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

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

def length_finder(input_array)
   puts '*** '+input_array.inspect
   return 0
end