在之前的文章中,我们已经看到了如何实现Array。assoc()和Ruby代码中的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 # 数组声明 array1 = ["1","Ramesh","Apple","12","Sana","Yogita","Satyam","Harish"] # 输入 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语句进行打印时,在实际的Array实例中看不到该方法所做的更改。
范例2:
=begin Ruby program to demonstrate collect! method =end # 数组声明 array1 = ["1","Ramesh","Apple","12","Sana","Yogita","Satyam","Harish"] # 输入 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实例中存在所有元素。本示例仅告诉您如何使用“!”创建破坏性方法。符号。