从枚举ruby中删除项



我这里有一段代码,它获取一个区域并添加到我的变量"区域";。假设它有: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很陌生。

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

来自

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

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

最新更新