在本文中,我们将研究Array.sample()方法。大家都必须认为该方法必须做的事情与我们研究的所有这些方法都大不相同。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法并演示程序代码来理解它。
方法说明:
该方法是一个公共实例方法,为Ruby库中的Array类定义。此方法的工作方式是,从Array实例的元素中选择一个随机对象,例如r。如果与方法一起提供数字“ n”,则该方法将返回长度为“ n”并包含未重复且唯一的随机数的Array实例。如果在没有提供任何参数的情况下调用该方法,则如果发现Array实例为空,则该方法将返回“ nil”;如果使用带有不包含任何元素的Array的参数调用该方法,则该方法将返回空Array对象。
语法:
array_instance.sample -> object or array_instance.sample(n)-> new_array
Argument(s) 需要:
此方法采用一个参数,该参数确定该方法返回的Array实例的长度。
范例1:
=begin Ruby program to demonstrate sample method =end # 数组声明 table = [2,4,6,8,10,12,14,16,18,20] puts "Array sample implementation" rn = table.sample puts "The random object generated from Array instance is #{rn}"
输出结果
RUN 1: Array sample implementation The random object generated from Array instance is 8 RUN 2: Array sample implementation The random object generated from Array instance is 18
说明:
在上面的代码中,您可以观察到我们是在Array的帮助下从Array实例生成随机数的。sample()方法。在两次运行中,您都可以观察到生成的随机数彼此完全不同。
范例2:
=begin Ruby program to demonstrate sample method =end # 数组声明 table = [2,4,6,8,10,12,14,16,18,20] puts "Array sample implementation" puts "Enter the number of objects you want to generate:" num = gets.chomp.to_i rn = table.sample(num) puts "The random objects generated from Array instance is #{rn}"
输出结果
RUN 1: Array sample implementation Enter the number of objects you want to generate: 3 The random objects generated from Array instance is [20, 18, 2] RUN 2: Array sample implementation Enter the number of objects you want to generate: 3 The random objects generated from Array instance is [2, 6, 8]
说明:
在上面的代码中,您可以观察到我们正在从Array实例生成随机数的Array实例。sample()方法已被调用。在这两次运行中,您都可以看到获得的Array实例彼此完全不同。