美文网首页
ruby-字符串与符号

ruby-字符串与符号

作者: GALAXY_ZMY | 来源:发表于2016-01-03 20:28 被阅读524次

字符串(String类)与符号(Symbol)这两种变量类型的特点和区别:

  1. 字符串和符号,都是Ruby中表示文本的方式
    不管字符串变量也好,符号变量也好,都是用来表示文本的,它们之间,也可以互相转换(通过to_sym和to_s):
    "house".to_sym => :house
    :house.to_s => "house"

  2. 相同的符号是一个对象,相同的字符并不一定是一个对象
    这就是符号和字符串最大的差别,符号是不可变的,不能对一个符号进行修改。所以说,两个看起来相同的符号一定是一个对象,但是说两个看起来一样的字符串是一个对象,就不对了。
    这里,我们用 equal? 方法检验这一点,当两个对象相同时,equal? 返回true,反之是false:
    :house.equal?(:house) => true
    "house".equal?("house") => false

  3. 处理符号相比字符串,占用更少的资源
    比较典型的用法,就是在Rails中,用符号来指代散列中的参数名称:

     <% for book in @books-%>
     <%= link_to book.name, 
         :controller => "book",
         :action    => "show", 
         :id        => book.id   %>
     <% end -%>
    

参考资料:http://hideto.iteye.com/blog/109697

相关文章

  • ruby-字符串与符号

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

  • C语言字符串

    说字符串之前,我先说说字符,所谓字符(Character)是文字与符号的总称,包括文字、图 形符号、数学符号等。 ...

  • Ruby Hash

    符号 在 Ruby 中, 符号(symbol)与字符串对象很相似, 符号也是对象, 一般作为名称标签使用, 表示方...

  • [Bash笔记] 字符串操作

    字符串长度 关键符号 ${#parameter} 截取字符串 关键符号 ${parameter:offset} $...

  • swift 笔记

    字符串操作 符号 for in

  • web前端需要注意的知识点-笔记

    1.取模运算的结果符号只与左边值的符号有关: 2. null、undefined、0、NaN、空字符串转换(Boo...

  • review javascript 19:转义字符

    (1)说明 如果字符串内包含与语法冲突的特殊符号,可用转义字符将特殊符号标记为普通字符 (2)javascript...

  • 连字符+

    连字符:连接字符串相加的符号(必须由字符串参与) 任何类型与String相加,其结果都是String +号左右有字...

  • NSString使用stringWithFormat拼接

    字符串中有特殊符号 ” 字符串中有特殊符号 % 用 0 补全的方法 保留 2 位小数点

  • ruby-块

网友评论

      本文标题:ruby-字符串与符号

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