【问题标题】:What is the purpose of Ruby array's methods assoc and rassoc?Ruby 数组的方法 assoc 和 rassoc 的目的是什么?
【发布时间】:2023-03-15 15:20:01
【问题描述】:

我已经阅读了 Ruby array 的方法 assocrassoc 的文档。我明白他们在做什么。它们都适用于数组数组。 assoc 返回第一个元素等于提供的参数的数组,rassoc 做同样的事情,但对于第二个元素。

我的问题是这些方法的用途是什么?此功能非常具体。我猜想创建这些方法是有原因的。这是什么?

【问题讨论】:

    标签: ruby-on-rails ruby arrays


    【解决方案1】:

    有几个原因,但主要原因是数组可以像哈希一样工作。我认为因为哈希是未排序的,Ruby 设计者需要一种方法来以有序的方式表示哈希。我认为有很多Enumerable 方法在对哈希调用时会返回数组。

    【讨论】:

    • 在 Lisp 中可以找到等价的函数;也许这就是 Ruby 得到它们的地方。
    • 从 1.9 版开始,保证 Ruby 哈希按插入顺序进行迭代。 (不过,我同意你的看法)。
    • @johncip:我的印象是新的哈希行为不是通用的(例如,依赖它可能会给 JRuby 等问题带来问题)。
    • 除非我弄错了,否则在 1.9 之前该行为未指定,但保留插入顺序已成为规范的一部分,因此我希望所有实现的最新版本都支持它。但我只使用 MRI Ruby。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多