我有这些方法:
def get_width(arg)
return arg[0]
end
def get_height(arg)
return arg[1]
end
arg
可以是[200, 400]
形式,也可以是[[200, 400], [300, 600], [150,780], ...]
形式。如果是前者,我的功能会起作用。但如果是后者,我只想使用第一个条目。我怎么能这样做?
答案 0 :(得分:2)
您可以使用函数来获取类型。
def get_width(arg)
if arg[0].is_a? Array
return arg[0][0]
else
return arg[0]
end
end
答案 1 :(得分:2)
试试这个:
def get_width(arg)
arg = arg[0] if arg[0].is_a? Array
return arg[0]
end
def get_height(arg)
arg = arg[0] if arg[0].is_a? Array
return arg[1]
end
答案 2 :(得分:0)
另一种方式:
def width_and_height(arr)
[*arr.first].first, [*arr.last].first
end
a = [200, 400]
b = [[200, 400], [300, 600]]
width_and_height(a) #=> [200, 400]
width_and_height(b) #=> [200, 300]
注意:
[*[200, 400].first].first
#=> [*200].first
#=> [200].first
#=> 200
[*[[200, 400], [300, 600]].first].first
#=> [*[200, 400]].first
#=> [200, 400].first
#=> 200