Project1

标题: 在线等!怎么判断一个多维数组有几维 [打印本页]

作者: 菜鸟飞呀飞    时间: 2011-8-19 23:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: orzfly    时间: 2011-8-19 23:28
我没有记错的话rm里面只有一维数组……Array对象是一位的

楼主是多层Array么?
  1. count=0
  2. array = [[["aaaaa", "bbbbb"], ["aaaaa", "bbbbb"]], [["aaaaa", "bbbbb"], ["aaaaa", "bbbbb"]]]
  3. arr = array
  4. while arr.is_a?(Array)
  5.   count += 1
  6.   break if arr.size == 0
  7.   arr = arr[0]
  8. end
  9. p count
  10. # => 3
复制代码

作者: 菜鸟飞呀飞    时间: 2011-8-19 23:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: orzfly    时间: 2011-8-19 23:39
本帖最后由 orzfly 于 2011-8-20 00:03 编辑
  1. def table_dims(t)
  2.   return 3 if t.zsize != 1
  3.   return 2 if t.ysize != 1
  4.   return 1
  5. end
  6. p table_dims(Table.new(5,5,5))
  7. p table_dims(Table.new(5,5))
  8. p table_dims(Table.new(5))
复制代码

作者: ifu25    时间: 2011-8-19 23:46
签名好有修改。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1