【问题标题】:Why does Ruby expose symbols?为什么 Ruby 公开符号?
【发布时间】:2011-01-19 10:16:18
【问题描述】:

为什么 Ruby 公开符号以供显式使用?这不是通常由解释器/编译器处理的那种优化吗?

【问题讨论】:

    标签: ruby symbols


    【解决方案1】:

    部分问题在于 Ruby 字符串是可变的。由于 Ruby 分配的每个字符串都必须是独立的(它不能缓存短的/普通的),所以使用 Symbol 类型让程序员拥有本质上不可变的、内存高效的字符串是很方便的。

    此外,它们与 enum 的许多特征相同,但对程序员来说痛苦更少。

    【讨论】:

      【解决方案2】:

      Ruby 符号用于代替其他类似语言中的字符串常量。除了性能优势之外,它们还可用于在语义上区分字符串数据和更抽象的符号。由于语法不同,它们可以在代码中清楚地区分。

      【讨论】:

        【解决方案3】:

        看看Ruby symbols的帖子。

        【讨论】:

        猜你喜欢
        • 2019-09-13
        • 1970-01-01
        • 2011-01-04
        • 1970-01-01
        • 2011-12-16
        • 1970-01-01
        • 2011-03-05
        • 1970-01-01
        • 2020-05-09
        相关资源
        最近更新 更多