7
我已閱讀Ruby array
的方法assoc
和rassoc
的文檔。我明白他們做了什麼。它們都在數組的數組上工作。 assoc
返回其第一個元素等於提供的參數的數組,而rassoc
的做法相同,但是對於第二個元素。Ruby數組的方法assoc和rassoc的目的是什麼?
我的問題是這些方法是什麼?這個功能非常具體。我猜這些方法的創建有一些原因。它是什麼?
我已閱讀Ruby array
的方法assoc
和rassoc
的文檔。我明白他們做了什麼。它們都在數組的數組上工作。 assoc
返回其第一個元素等於提供的參數的數組,而rassoc
的做法相同,但是對於第二個元素。Ruby數組的方法assoc和rassoc的目的是什麼?
我的問題是這些方法是什麼?這個功能非常具體。我猜這些方法的創建有一些原因。它是什麼?
有幾個原因,但主要原因是數組可以像哈希一樣工作。我認爲,因爲哈希是未排序的,所以Ruby設計者需要一種以有序方式表示哈希的方式。我認爲有很多Enumerable
方法在調用哈希時返回數組。
在Lisp中找到等價函數;也許這就是Ruby得到它們的地方。 – echristopherson 2012-08-12 18:10:02
從版本1.9開始,Ruby散列保證按插入順序迭代。 (但我同意你的看法)。 – johncip 2016-05-24 21:06:52
@johncip:我的印象是,新的散列行爲不是普遍的(例如,依靠它可能會給JRuby帶來問題)。 – Linuxios 2016-05-24 22:22:00