當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Array.select用法及代碼示例


Array.select 方法

在上一篇文章中,我們已經看到如何迭代 Array 類的實例?我們已經看到,為此我們有像 Array.each、Array.reverse_each 和 Array.map 這樣的方法。在本文中,我們將了解 Array.select 的實現。

Array.select 方法,顧名思義,用於從Array 中選擇一些元素。此方法是非破壞性的,不會給 Array 對象的實際值帶來任何變化。此方法基於您將在括號內提供的某些條件起作用。此方法基於您在塊內提供的條件。如果您未在塊內指定任何條件,則此方法將不起作用。雖然它不會拋出異常,但結果是 nil。因此,如果您正在使用此方法,您應該具有某些條件,基於這些條件將從 Array 類的對象中選擇元素。如果你想打印 Array 實例的所有元素,那麽你可以使用 Array.each 方法並避免使用這個方法。

用法:

    Array.select{|var| #condition}

參數:

此方法不允許傳遞任何參數,而是強製要求一個條件。

範例1:

=begin
  Ruby program to demonstrate Array.select
=end

# array declaration
num = [2,44,2,5,7,83,5,67,12,11,90,78,9]

puts "Enter 'a' for Even numbers and 'b' for odd numbers"
opt = gets.chomp
if opt == 'a'
	puts "Even numbers are:"
	puts num.select{|num|
		num%2 == 0
	}
elsif opt == 'b'
	puts "Odd numbers are:"
	puts num.select{|num|
		num%2 !=0
	}
else
	puts "Wrong selection. Input valid option"
end

輸出

RUN 1:
Enter 'a' for Even numbers and 'b' for odd numbers
 a
Even numbers are:
2
44
2
12
90
78

RUN 2:
Enter 'a' for Even numbers and 'b' for odd numbers
 b
Odd numbers are:
5
7
83
5
67
11
9

說明:

在上麵的代碼中,您可以觀察到我們正在從用戶那裏獲取關於用戶想要什麽類型的數字作為輸出的輸入。這是因為我們想在 Array.select 方法中傳遞某些條件。我們根據用戶提供的選項向用戶提供響應,並且此方法僅以這種方式使用。

範例2:

=begin
  Ruby program to demonstrate Array.select
=end

# array declaration
num = [2,44,2,5,7,83,5,67,12,11,90,78,9]

puts num.select{|a|}

輸出

    # no o/p

說明:

在上麵的輸出中,您可以觀察到,當您沒有在方法中指定任何條件時,您將不會獲得任何輸出。



相關用法


注:本文由純淨天空篩選整理自 Array.select Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。