在本文中,我们将研究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...
说明:
当您运行上述代码时,您会发现它将导致无限循环。发生这种情况是因为您没有使用该方法传递任何参数或正数。