4

我有这个代码:

default_group_id =  @group_list[0].list[0].name

但有时列表成员@group_list[0]是空的,所以我的代码崩溃了 :) 所以我需要找到第一个@group_list[i]它的列表成员不是 nil 的成员并使用它。我们应该怎么做?

这是结构:

在此处输入图像描述

4

4 回答 4

18

Enumerable#findwithObject#itself是一个方便的捷径:

@group_list.find(&:itself)
于 2016-10-06T19:40:57.073 回答
8

您可以使用Enumerable#find

@group_list.find { |x| !x["list"].blank? }
#=> first non-nil and non-empty list in group_list
于 2013-08-26T16:10:23.593 回答
7

你可以使用Enumerable#find

@group_list.find{|x|!x.nil?} # => the first non-nil element in @group_list
于 2013-08-26T16:12:21.930 回答
1

或者:

@group_list.compact.first
于 2021-08-23T09:36:57.567 回答