相当于 PHP 的 ".="(点等于)运算符的 Ruby

标签 ruby string concatenation

在 PHP 中我们可以快速连接字符串:

$a = "b";
$a .= "c";

返回 "bc"。我们如何在 Ruby 中做到这一点?

最佳答案

本质上有两种不同的方式:

  1. << 串联(称为“铲子”),这相当于调用 concat .请注意,与 Ruby 中的大多数运算符一样,<<是一个方法调用

    str = "foo"
    str << "bar"
    str  #=> "foobar"
    
  2. 连接并赋值 += :

    str = "foo"
    str += "bar"
    str  #=> "foobar"
    

    重要的是要注意,这与:

    str = "foo"
    str = (str + "bar")
    

    这意味着使用这种方式创建了一个新对象,而使用第一种方式则不是,因为对象已就地修改。

关于相当于 PHP 的 ".="(点等于)运算符的 Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9706903/

相关文章:

ruby - 在 ruby​​ 中以散列形式返回结构数据

python - 如何在Python中按字母顺序对字符串中的字母进行排序

javascript - 不能使用 String#trim 作为 Array#map 的回调

python - 在 Pwm 中将字符串输出为列表

xml - 如何使用 XSLT 连接大量 XML 文件?

C++ 宏连接

string - Golang 在字符串 slice 中追加字符串

objective-c - MacRuby/HotCocoa 能否取代对 Objective-C 的了解?

ruby-on-rails - UTF-8 转换不适用于 String#encode 但 Iconv

ruby - ruby 类的局部变量