Array.shuffle 方法
在本文中,我们将研究 Array.shuffle 方法。你们一定认为该方法必须做一些与 Array 实例中元素或对象的混洗相关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法和演示程序代码来理解它。
方法说明:
此方法是一个公共实例方法,是为 Ruby 库中的 Array 类定义的。此方法的用法方式是随机打乱 Array 实例中存在的对象。此方法的返回类型是一个 Array 对象,它以混洗的方式包含 self 的所有元素。您还可以提供一个可选参数rng
它可以用作随机数生成器。此方法是非破坏性方法的示例之一,这意味着此方法创建的更改不是永久或临时的,不会影响 self Array 实例中元素的实际排列。
用法:
array_instance.shuffle -> new_array or array_instance.shuffle(random:rng)-> new_array
所需参数:
此方法采用一个可选参数。此参数可用于随机数生成。
范例1:
=begin
Ruby program to demonstrate shuffle method
=end
# array declaration
table = [2,4,6,8,10,12,14,16,18,20]
puts "Array shuffle implementation"
pq =table.shuffle
puts "Array instance after shuffling:#{pq}"
puts "Array instance:"
print table
输出
RUN 1: Array shuffle implementation Array instance after shuffling:[14, 18, 12, 16, 6, 4, 2, 10, 8, 20] Array instance: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] RUN 2: Array shuffle implementation Array instance after shuffling:[12, 14, 18, 2, 20, 10, 6, 4, 16, 8] Array instance: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
说明:
在上面的代码中,您可以观察到我们在 Array.shuffle 方法的帮助下对 Array 实例中的元素进行了混洗。您可以观察到,在两次运行中,输出或生成的 Array 实例都不同,因为元素的混洗始终是随机的。您还可以看到 self Array 中的元素保持不变,因为该方法是非破坏性方法的示例之一。
范例2:
=begin
Ruby program to demonstrate shuffle method
=end
# array declaration
table = [2,4,6,8,10,12,14,16,18,20]
puts "Array shuffle implementation"
pq = table.shuffle(random:Random.new(2))
puts "Array instance after shuffling:#{pq}"
puts "Array instance:"
print table
输出
RUN 1: Array shuffle implementation Array instance after shuffling:[10, 4, 12, 2, 16, 6, 8, 14, 20, 18] Array instance: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] RUN 2: Array shuffle implementation Array instance after shuffling:[10, 4, 12, 2, 16, 6, 8, 14, 20, 18] Array instance: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
说明:
在上面的代码中,您可以观察到我们在 Array.shuffle 方法的帮助下对 Array 实例的元素进行了混洗。我们在方法内部传递一个参数以生成一个随机数。这有助于您使洗牌保持不变。在两次运行中,您都可以观察到返回的 Array 是常量。此方法是一种非破坏性方法,因此它不会在实际数组实例中创建任何更改。
相关用法
- Ruby Array.shift用法及代码示例
- Ruby Array.sort用法及代码示例
- Ruby Array.sort_by用法及代码示例
- Ruby Array.slice()用法及代码示例
- Ruby Array.select用法及代码示例
- Ruby Array.sample()用法及代码示例
- Ruby Array.reject用法及代码示例
- Ruby Array.repeated_permutation()用法及代码示例
- Ruby Array.index()用法及代码示例
- Ruby Array.pack()用法及代码示例
- Ruby Array.rassoc(obj)用法及代码示例
- Ruby Array.values_at()用法及代码示例
- Ruby Array.each用法及代码示例
- Ruby Array.unshift()用法及代码示例
- Ruby Array.reverse用法及代码示例
- Ruby Array.rotate()用法及代码示例
- Ruby Array.repeated_combination()用法及代码示例
- Ruby Array.replace()用法及代码示例
- Ruby Array.drop_while用法及代码示例
- Ruby Array.assoc(obj)用法及代码示例
注:本文由纯净天空筛选整理自 Array.shuffle Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。