让我说我有这个数组:
array = ["str1", "str2", "str3", "str4", "str5", "str6", "str7", "str8"]
Run Code Online (Sandbox Code Playgroud)
我在做什么:
array.delete_if {|i| i == "str1" || i == "str3" || i == "str5"}
Run Code Online (Sandbox Code Playgroud)
我有:
["str2", "str4", "str6", "str7", "str8"]
Run Code Online (Sandbox Code Playgroud)
有什么更好的办法在红宝石做这个?
Ale*_*x D 32
你可以这样做:
array - %w{str1 str2 str3}
Run Code Online (Sandbox Code Playgroud)
请注意,这将返回一个带有"str1","str2"和"str3"删除的新数组,而不是array直接修改(如同delete_if).你可以array像这样简洁地重新分配新数组:
array -= %w{str1 str2 str3}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13763 次 |
| 最近记录: |