在ruby中获取多维数组的维度
发布时间:2020-12-16 23:01:10 所属栏目:百科 来源:网络整理
导读:我刚开始学习ruby. 现在我需要弄清楚多维数组的维度.我查看了所有数组方法的 ruby-docs,但我找不到返回维度的方法. 这是一个例子: 对于[[1,2],[3,4],[5,6]],维度应为2. 对于[[[1,[2,3]],[[3,[5]]],维度应为3. 解决方法 没有内置函数,因为对于数组的“维度”
我刚开始学习ruby.
现在我需要弄清楚多维数组的维度.我查看了所有数组方法的 ruby-docs,但我找不到返回维度的方法. 这是一个例子: 对于[[1,2],[3,4],[5,6]],维度应为2. 对于[[[1,[2,3]],[[3,[5]]],维度应为3. 解决方法
没有内置函数,因为对于数组的“维度”,您可能有多个定义.
Ruby的数组可能包含任何内容,包括哈希或其他数组.这就是为什么我认为你需要为此实现自己的功能.
假设维度是指“最深的嵌套级别的数组”,这应该可以解决问题: def get_dimension a return 0 if a.class != Array result = 1 a.each do |sub_a| if sub_a.class == Array dim = get_dimension(sub_a) result = dim + 1 if dim + 1 > result end end return result end 编辑:因为ruby是一种很棒的语言,并且允许你做一些花哨的东西,你也可以使get_dimension成为一个Array的方法: class Array def get_dimension ... # code from above slightly modified end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |