所以我试图从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”?
答案 0 :(得分:4)
哈,就像Justin Ko在上面的评论中所说,你所看到的是两次运行该功能的标准。
由于您使用了print
,因此没有换行符。请改用puts
。
这可以帮助您更清楚地看到它:
def length_finder(input_array)
puts '*** '+input_array.inspect
return 0
end