ruby array_Ruby中帶有示例的Array.shuffle方法

ruby array

Array.shuffle方法 (Array.shuffle Method)

In this article, we will study about Array.shuffle method. You all must be thinking the method must be doing something which is related to shuffling of elements or objects in the Array instance. It is not as simple as it looks. Well, we will figure this out in the rest of our content. We will try to understand it with the help of syntax and demonstrating program codes.

在本文中,我們將研究Array.shuffle方法 。 大家都必須認為該方法必須執行與Array實例中的元素或對象的改組有關的操作。 它并不像看起來那么簡單。 好吧,我們將在其余內容中解決這個問題。 我們將嘗試借助語法并演示程序代碼來理解它。

Method description:

方法說明:

This method is a public instance method and defined for the Array class in Ruby's library. This method works in such a way that it shuffles the objects present in the Array instance randomly. The return type of this method is an Array object which contains all the elements of self in a shuffled manner. You can also provide an optional argument rng which can be used as a random number generator. This method is one of the examples of non-destructive method which means that the changes created by this method are not permanent or temporary and would not impact the actual arrangement of elements in the self Array instance.

該方法是一個公共實例方法,為Ruby庫中的Array類定義。 該方法的工作方式是隨機地對Array實例中存在的對象進行洗牌。 此方法的返回類型是一個Array對象,它以隨機的方式包含self的所有元素。 您還可以提供一個可選參數rng ,可用作隨機數生成器。 此方法是非破壞性方法的示例之一,這意味著此方法創建的更改不是永久的或臨時的,并且不會影響self Array實例中元素的實際排列。

Syntax:

句法:

    array_instance.shuffle -> new_array
or
array_instance.shuffle(random:rng)-> new_array

Argument(s) required:

所需參數:

This method takes one argument which is optional. This argument can be used for random number generation.

此方法采用一個可選參數。 此參數可用于生成隨機數

Example 1:

范例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 

Output

輸出量

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]

Explanation:

說明:

In the above code, you can observe that we are shuffling the elements from the Array instance with the help of Array.shuffle method. You can observe that in both the runs, the output or the Array instance generated is different because the shuffling of the elements is always random. You can also see that the elements in self Array remain unchanged because this method is one of the examples of the non-destructive methods.

在上面的代碼中,您可以觀察到借助Array.shuffle方法 ,我們正在對Array實例中的元素進行改組 。 您可以觀察到,在兩次運行中,由于元素的改組始終是隨機的,因此輸出或生成的Array實例是不同的。 您還可以看到self Array中的元素保持不變,因為此方法是非破壞性方法的示例之一。

Example 2:

范例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 

Output

輸出量

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]

Explanation:

說明:

In the above code, you can observe that we are shuffling the elements of the Array instance with the help of Array.shuffle method. We are passing an argument inside the method in order to generate a random number. This helps you in the way that it makes the shuffling constant. In both the runs, you can observe that the returning Array is constant. This method is a non-destructive method that is why it is not creating any changes in the actual array instance.

在上面的代碼中,您可以觀察到我們正在借助Array.shuffle方法對Array實例的元素進行混洗 。 我們在方法內部傳遞參數以生成隨機數。 這以使改組為常數的方式幫助您。 在這兩次運行中,您都可以觀察到返回的Array是常量。 此方法是一種非破壞性方法,這就是為什么它不會在實際的數組實例中創建任何更改的原因。

翻譯自: https://www.includehelp.com/ruby/array-shuffle-method-with-example.aspx

ruby array

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541088.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541088.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541088.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【147天】尚學堂高淇Java300集視頻精華筆記(108-109)

第108集:容器equals和hashcodeJDK源代碼分析 本集知識點 Java中規定,若兩個對象equals比較后內容相等(為true),則hashCode必須相等,反之不然。【原因見內存分析圖】hashCode與equals方法必須同時重寫,且必須…

ruby hash方法_Ruby中帶有示例的Hash.key?(obj)方法

ruby hash方法Hash.key?(obj)方法 (Hash.key?(obj) Method) In this article, we will study about Hash.key?(obj) Method. The working of the method cant be assumed because of its quite a different name. Let us read its definition and understand its …

python迭代器與生成器答案_史上最全 Python 迭代器與生成器

原標題:史上最全 Python 迭代器與生成器作者:浪子燕青鏈接:http://www.langzi.fun/迭代器與生成器.html迭代器與可迭代對象概念迭代器:是訪問數據集合內元素的一種方式,一般用來遍歷數據,但是他不能像列表一…

[性能測試] LoadRunner結果分析 – TPS

本文轉載自:http://www.tuicool.com/articles/6z6vuy針對吞吐率和 TPS 的關系,這個在結果分析中如何使用,就個人經驗和朋友討論后,提出如下建議指導,歡迎同僚指正。相關定義響應時間 網絡響應時間 應用程序響應時間響…

密碼學電子書_密碼學中的電子密碼書(ECB)

密碼學電子書This Electronic Code Book (ECB) is cryptography as a mode of operation for a block cipher, with the characters the main things that every feasible block of plaintext or an original text has a corresponding characteristic of ciphertext value and…

tsql是mysql中的嗎_Mysql中的sql是如何執行的

MySQL中的SQL是如何執行的MySQL是典型的C/S架構,也就是Client/Server架構,服務器端程序使用的mysqld.整體的MySQL流程如下圖所示:MySQL是有三層組成:連接層: 負責客戶端與服務器端建立連接,客戶端發送SQL至服務端;SQL層: 對SQL語句進行查詢處理;存儲引擎層: 與數據庫文件打交道…

軟件質量特性測試

針對軟件質量特性進行測試,可以避免重大漏測,一般人我不告訴他。《軟件工程—產品質量》(GB/T 16260-2006)中規定對軟件的每個質量特性與子特性都有定義:一、功能性:是指當軟件在指定條件下使用&#xff0c…

PHP array_pop()函數與示例

PHP array_pop()函數 (PHP array_pop() function) array_pop() function is used to delete/pop last element from the array. array_pop()函數用于從數組中刪除/彈出最后一個元素。 Syntax: 句法: array_pop(array);Here, array is the input array, function w…

網站關停就沒事了?5100萬賬戶文件被盜

曾經是美國三大音樂視頻文件共享軟件之一的imesh,意外倒閉。而更意外的是,就在近日,imesh這款已經倒閉的軟件,5100萬賬戶開始在暗網被黑客拍賣。 Imesh這款軟件是美國紐約的老牌音樂視頻分享軟件之一,早在2000年前便已…

數據庫表設計索引外鍵設計_關于索引的設計決策 數據庫管理系統

數據庫表設計索引外鍵設計Introduction: 介紹: The attributes whose values are required inequality or range conditions and those that are keys or that participate in join conditions require access paths. 其值為必需的不等式或范圍條件的屬性以及作為鍵…

接口測試從零開始系列_mock技術使用

1、什么情況下會使用mock技術 (1)需要將當前被測單元和其依賴模塊獨立開來,構造一個獨立的測試環境,不關注被測單元的依賴對象,只關注被測單元的功能邏輯 ----------比如被測代碼中需要依賴第三方接口返回值進行邏輯處…

amie 規則挖掘_AMIE的完整形式是什么?

amie 規則挖掘AMIE:工程師協會的準會員 (AMIE: Associate Member of the Institution of Engineers) AMIE is an abbreviation of Associate Member of the Institution of Engineers. The Institution of Engineers India Limited (IEIL) provides this profession…

java 馬克思_單鏈表-Java

public class SinglyListNode {int val;SinglyListNode next;SinglyListNode() {}SinglyListNode(int x) {this.val x;}}/*執行用時:12 ms, 在所有 Java 提交中擊敗了66.93%的用戶內存消耗:39.5 MB, 在所有 Java 提交中擊敗了5.06%的用戶*/class MyLink…

python的pass語句_Python | 演示pass語句的示例

python的pass語句python中的pass語句 (pass statement in python) "pass" is a type of null operation or null statement, when it executes nothing happens. It is used when you want do not want to write any code/statement to execute but syntactically a …

HDS:聚焦未來的投資“凍結”

一家日本IT網站報道的有關HDS凍結對高端存儲產品的投資一事引發眾議。讓人陷入疑惑的這次聲明就是,HDS認為單純的陣列產品并非企業存儲的未來。 6月1日,IT Pro Nikkei網站發布了一篇報道,內容援引HDS一份表示將凍結高端存儲業務的簡報。這引發…

java js對象轉字符串數組_JS數組轉字符串(3種方法)【轉】

JavaScript 允許數組與字符串之間相互轉換。其中 Array 方法對象定義了 3 個方法,可以把數組轉換為字符串,如表所示。數組方法說明toString()將數組轉換成一個字符串toLocalString()把數組轉換成本地約定的字符串join()將數組元素連接起來以構建一個字符…

中美共建大數據創新研究中心

由貴陽市人民政府、工信部電子一所、美國加州大學伯克利分校合作共建的貴州伯克利大數據創新研究中心日前在貴陽揭牌。 據了解,貴州伯克利大數據創新研究中心將分兩階段建設。第一階段,2016年9月份至2017年底,將重點完成“學齡兒童大數據分析…

Python中的__init__和self是做什么的?

The __init__ and self are two keywords in python, which performs a vital role in the application. __init__和self是python中的兩個關鍵字,在應用程序中起著至關重要的作用。 To begin with, it is important to understand the concept of class and object…

Palo Alto Networks漏洞防護擴展至云端

中國北京,2016年4月12日 –下一代安全企業Palo Alto Networks?(紐交所代碼:PANW)近日宣布進一步增強其下一代安全平臺,擴展漏洞防護能力,以滿足那些依賴云環境和SaaS應用的業務對安全的需求。 企業機構需要變得更加靈活和有競爭力…

java 嵌套調用_Java嵌套類的使用

嵌套類是指被定義在另一個類內部的類,它為外部類提供服務。嵌套類分四種:靜態成員類、非靜態成員類、匿名類和局部類。一、靜態成員類與非靜態成員類的區別?在什么情況下可以用靜態成員類?我們知道在類的設計中,為了避…