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


Ruby Array.collect用法及代碼示例


Ruby Array.collect 方法

在之前的文章中,我們已經看到了如何在 Ruby 代碼中實現 Array.assoc() 和 Array.include?() 方法。這兩種方法都用於在 Array 類的對象中查找某些對象的存在。這兩種方法都有一定的差異,我們也經曆過它們。在本文中,我們將看到如何在 Ruby 程序中使用 Array.collect 方法。我們將借助其語法和程序代碼來實現該方法。

方法說明:

該方法屬於公共實例方法的範疇,是為Ruby 語言庫中的Array 類定義的。此方法遍曆 Array 實例並根據 Ruby 代碼的要求創建修改。該方法可以是破壞性的,也可以是非破壞性的,這意味著如果該方法是破壞性的,那麽該方法所做的修改將反映在實際的 Array 實例中,您可以通過在方法後添加 "!" 標記來使該方法具有破壞性。如上所述,此方法也可以是非破壞性的,這僅意味著此方法創建的更改不會影響實際的 Array 實例。

用法:

    array_instance.collect {#block}

範例1:

=begin
	Ruby program to demonstrate collect method
=end

# array declaration
array1 = ["1","Ramesh","Apple","12","Sana","Yogita","Satyam","Harish"]

# input
puts "Enter the character you want to add"
ele = gets.chomp

puts "Array instance after modification:"
print array1.collect { |x| x + ele } 

puts ""

puts "Actual Array:"
puts array1

輸出

Enter the character you want to add
 ^
Array instance after modification:
["1^", "Ramesh^", "Apple^", "12^", "Sana^", "Yogita^", "Satyam^", "Harish^"]
Actual Array:
1
Ramesh
Apple
12
Sana
Yogita
Satyam
Harish

說明:

在上麵的代碼中,您可以觀察到 Array.collect 方法的這種變體是一種非破壞性的變體,因為當我們借助puts陳述。

範例2:

=begin
	Ruby program to demonstrate collect! method
=end

# array declaration
array1 = ["1","Ramesh","Apple","12","Sana","Yogita","Satyam","Harish"]

# input
puts "Enter the character you want to add"
ele = gets.chomp

puts "Array instance after modification:"
print array1.collect! { |x| x + ele } 

puts ""

puts "Actual Array:"
puts array1

輸出

Enter the character you want to add
 %
Array instance after modification:
["1%", "Ramesh%", "Apple%", "12%", "Sana%", "Yogita%", "Satyam%", "Harish%"]
Actual Array:
1%
Ramesh%
Apple%
12%
Sana%
Yogita%
Satyam%
Harish%

說明:

在上麵的代碼中,您可以觀察到 Array.collect 方法的這種變體是一種破壞性的變體,因為該方法所做的更改可以在實際的 Array 中看到。您可以看到,在這兩個語句中,我們都獲得了一個額外的 "%" 符號,其中包含 Array 實例中存在的所有元素。這個例子隻是告訴你如何在 "!" 符號的幫助下創建破壞性的方法。



相關用法


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