Ruby Array.delete_if 方法
在上一篇文章中,我們研究了 Array 方法,即 Array.select、Array.reject 和 Array.drop_While,所有這些方法都是非破壞性方法,這意味著它們不會對駐留在數組實例。如果你想讓上麵的方法具有破壞性,你可以在方法名稱後添加一個"!"。例如,Array.select!是 Array.select 的破壞性版本。
在本文中,我們將了解本質上已經具有破壞性的 Array 方法 Array.delete_if。
方法說明:
這種方法造成的變化總是永久性的,因為它是一種破壞性方法。此方法的用法方式是,如果它找到不滿足該方法塊內指定的布爾條件的元素,則它會從 Array 實例中刪除該元素。如果沒有找到方法塊內指定的布爾條件,它不會刪除任何元素。
用法:
Array.delete_if{|var|#condition}
參數(s):此方法不接受任何參數,而是需要一個布爾條件進行操作。
範例1:
=begin
Ruby program to demonstrate Array.delete_if
=end
# array declaration
num = [1,2,3,4,5,6,7,8,9,10,23,11,33,55,66,12]
# input
puts "Enter the your choice (a)delete odd numbers (b) delete even numbers"
lm = gets.chomp
if lm == 'a'
puts "Even numbers are:"
puts num.delete_if { |a| a % 2 !=0 }
elsif lm == 'b'
puts "Odd numbers are:"
puts num.delete_if { |a| a % 2 ==0 }
else
puts "Invalid Input"
end
輸出
RUN 1: Enter the your choice (a)delete odd numbers (b) delete even numbers a Even numbers are: 2 4 6 8 10 66 12 RUN 2: Enter the your choice (a)delete odd numbers (b) delete even numbers b Odd numbers are: 1 3 5 7 9 23 11 33 55
說明:
在上麵的代碼中,您可以觀察到該方法正在刪除所有滿足 Array.delete_if 方法塊內提供的條件的元素。如果用戶要求刪除奇數,則輸出顯示在 RUN2 中,當用戶要求刪除偶數時,輸出顯示在 RUN1 中。
範例2:
=begin
Ruby program to demonstrate Array.delete_if
=end
# array declaration
num = [1,2,3,4,5,6,7,8,9,10,23,11,33,55,66,12]
print num.delete_if{|a|}
puts ""
print num
輸出
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 23, 11, 33, 55, 66, 12] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 23, 11, 33, 55, 66, 12]
說明:
在上麵的代碼中,您可以觀察到,如果您沒有在方法塊內指定任何條件,那麽它不會從 Array 實例中刪除或移除任何元素。
相關用法
- Ruby Array.drop_while用法及代碼示例
- Ruby Array.reject用法及代碼示例
- Ruby Array.repeated_permutation()用法及代碼示例
- Ruby Array.index()用法及代碼示例
- Ruby Array.pack()用法及代碼示例
- Ruby Array.rassoc(obj)用法及代碼示例
- Ruby Array.values_at()用法及代碼示例
- Ruby Array.each用法及代碼示例
- Ruby Array.sort用法及代碼示例
- Ruby Array.unshift()用法及代碼示例
- Ruby Array.reverse用法及代碼示例
- Ruby Array.rotate()用法及代碼示例
- Ruby Array.repeated_combination()用法及代碼示例
- Ruby Array.replace()用法及代碼示例
- Ruby Array.sort_by用法及代碼示例
- Ruby Array.shift用法及代碼示例
- Ruby Array.assoc(obj)用法及代碼示例
- Ruby Array.permutation()用法及代碼示例
- Ruby Array.join()用法及代碼示例
- Ruby Array.uniq用法及代碼示例
注:本文由純淨天空篩選整理自 Array.delete_if Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。