从Ruby枚举中删除元素

bkkx9g8r  于 2022-09-21  发布在  Ruby
关注(0)|答案(1)|浏览(119)

我这里有这个代码,它获取一个区域并添加到我的变量“Regions”中。因此,让我们假设它已经:XYZ,DDA,BBB,...比方说我想要得到除DDA以外的所有东西。我怎么能做到这一点。

代码:

def supported_regions(partition)
  if @@supported_regions_by_partition_cache[partition].nil?
    regions = xrp_supported_regions({ignore_build_status: IGNORE_BUILD_STATUS})
      .map { |region| rip_helper.get_region(region) }
      .select { |region| region.arn_partition == partition }
      .sort_by(&:region_name)
      .map(&:airport_code)
    @@supported_regions_by_partition_cache[partition] = regions
  else
    regions = @@supported_regions_by_partition_cache[partition]
  end
  regions
end

我已经试过了:

regions.delete('DDA')

.reject {|s| 'DDA' != s }

不知道我该怎么做。我对Ruby还是个新手。

6yt4nkrj

6yt4nkrj1#

您可以使用SELECT方法替换此行:

从…

.select { |region| region.arn_partition == partition }

.select { |region| region.arn_partition == partition && region.region_name != "DDA" }

相关问题