Are strings mutable in Ruby?

前端 未结 3 1128
我在风中等你
我在风中等你 2020-12-03 09:55

Are Strings mutable in Ruby? According to the documentation doing

str = \"hello\"
str = str + \" world\"

creates a new string object with

3条回答
  •  生来不讨喜
    2020-12-03 10:28

    Yes, << mutates the same object, and + creates a new one. Demonstration:

    irb(main):011:0> str = "hello"
    => "hello"
    irb(main):012:0> str.object_id
    => 22269036
    irb(main):013:0> str << " world"
    => "hello world"
    irb(main):014:0> str.object_id
    => 22269036
    irb(main):015:0> str = str + " world"
    => "hello world world"
    irb(main):016:0> str.object_id
    => 21462360
    irb(main):017:0>
    

提交回复
热议问题