当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。