Ruby中带有示例的Array.cycle()方法

Array.cycle()方法

在本文中,我们将研究Array.cycle()方法。由于Array.cycle方法的名称易读,您一定会更加兴奋,因为阅读此方法后我非常惊讶。在接下来的内容中,我们将看到实现此方法的方式。我们将借助其语法和演示示例来理解它。

方法说明:

该方法是为Ruby库中的Array类专门定义的。此方法是Array实例方法的示例之一。它像一个循环一样工作,并为Array实例的每个元素调用或调用给定的块n次。如果您不提供任何正数,则此方法将不起作用。如果您不提供任何内容,则可能导致Array类对象的元素无限重复。此方法的返回类型为“ nil”,并且在Array对象的实际元素中未进行任何更改。可以将这种方法视为Rich Ruby库中存在的非破坏性方法的示例之一。

语法:

    cycle(n=nil) { |obj| block } -> nil

Argument(s) 需要:

此方法需要一个正数,如果不进行任何传递,则必须遇到无限循环。

范例1:

=begin
  Ruby program to demonstrate cycle method
=end

# 数组声明
array1 = ["1","Ramesh","Apple","12","Sana","Yogita","Satyam","Harish"]

puts "Array cycle implementation."
array1.cycle(3){|x| puts  x}

输出结果

Array cycle implementation.
1
Ramesh
Apple
12
Sana
Yogita
Satyam
Harish
1
Ramesh
Apple
12
Sana
Yogita
Satyam
Harish
1
Ramesh
Apple
12
Sana
Yogita
Satyam
Harish

说明:

在上面的代码中,您将观察到Array实例的每个元素已经重复了3次,并且重复不是随机的,它按照正确的顺序存储在调用该方法的Array类实例中。

范例2:

=begin
  Ruby program to demonstrate cycle method
=end

# 数组声明
array1 = ["1","Ramesh","Apple","12","Sana","Yogita","Satyam","Harish"]

puts "Array cycle implementation."
array1.cycle{|x| puts x}

输出结果

Array cycle implementation.
1
Ramesh
Apple
12
Sana
Yogita
Satyam
Harish
1
Ramesh
Apple
12
Sana
Yogita
Satyam
Harish
1
Ramesh
Apple
12
Sana
Yogita
Satyam
Harish
1
Ramesh
Apple
12
.
.
.
.
Infinite loop...

说明:

当您运行上述代码时,您会发现它将导致无限循环。发生这种情况是因为您没有使用该方法传递任何参数或正数。