美文网首页
Ruby---字符串(String)与符号(Symbol)的区别

Ruby---字符串(String)与符号(Symbol)的区别

作者: HPD_黄霹雳 | 来源:发表于2017-09-08 21:37 被阅读0次

刚开始学习Ruby的时候,对于String 和 Symbol这两种类型有点疑惑,深入学习后记录他们这两者之间的区别。

1. 字符串和符号,都是Ruby中表示文本的方式
p "dog".to_sym  #=>  :dog
p :dog.to_s   #=> "dog"
2. 相同的符号是一个对象,相同的字符并不一定是一个对象
p "dog".equal?("dog")  #=> false 
p :dog.equal?(:dog)    #=> true

符号是不可变的,不能对符号进行修改。两个相同的符号一定是同一个对象。但是两个内容的字符串就不一定是同一个对象了。

3. 处理符号相比字符串,占用更少的资源 ,性能更优

因为字符串变量必须具有各种修改其内容的功能,所以字符串的维护和处理的开销就很大。但是有些时候,我们并不需要修改和处理创建的文本信息,这个时候就应该用符号,减少资源开销。

相关文章

  • Ruby---字符串(String)与符号(Symbol)的区别

    刚开始学习Ruby的时候,对于String 和 Symbol这两种类型有点疑惑,深入学习后记录他们这两者之间的区别...

  • ruby-字符串与符号

    字符串(String类)与符号(Symbol)这两种变量类型的特点和区别: 字符串和符号,都是Ruby中表示文本的...

  • JavaScript

    Number(数字) String(字符串) Boolean(布尔) Symbol(符号)(ES2015 新增) ...

  • JS 数据类型

    1.数字 -number2.字符串 -string3.布尔 -boolean4.symbol(符号)-symbol...

  • JS 里的数据类型

    数据类型: 数字(number), 字符串(string), 布尔(boolean), symbol(符号), n...

  • js数据类型

    数据类型 数字 number字符串 string布尔 bool符号 symbol空 undefined空 nu...

  • javascript数据类型

    面试题 基本类型 string(字符串) boolean(布尔值) number(数字) symbol(符号) n...

  • JS数据类型

    8种数字number字符串string布尔bool符号symbol空undefined空null大数bigInt对...

  • JavaScript 基础总结(1)

    类型 基本类型 数值number 字符串string 布尔boolean 符号symbol 空值null 未定义u...

  • 概述JS的数据类型

    数据类型有7种,分别为:数值(number)、字符串(string)、布尔值(boolean)、符号(symbol...

网友评论

      本文标题:Ruby---字符串(String)与符号(Symbol)的区别

      本文链接:https://www.haomeiwen.com/subject/xbvnjxtx.html