Рубиновый эквивалент оператора PHP ". =" (Точка равно) - PullRequest
1 голос
/ 14 марта 2012

В PHP мы можем быстро объединить строки:

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

, что возвращает "bc".Как бы мы это сделали в Ruby?

Ответы [ 4 ]

9 голосов
/ 14 марта 2012

Существуют два основных способа:

  1. Конкатенация с << (известная как «лопата»), это эквивалентно вызову concat.Обратите внимание, что, как и большинство операторов в Ruby, << - это вызов метода .

    str = "foo"
    str << "bar"
    str  #=> "foobar"
    
  2. Объединение и присвоение с помощью +=:

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

    Важно отметить, что это то же самое, что и:

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

    , что означает, что таким образом создается новый объект , тогда как при первом способе оннет, так как объект изменен на месте.

5 голосов
/ 14 марта 2012
irb(main):001:0> a = "ezcezc"
=> "ezcezc"
irb(main):002:0> a << "erer"
=> "ezcezcerer"

или

irb(main):003:0> a += "epruneiruv"
=> "ezcezcererepruneiruv"
3 голосов
/ 14 марта 2012

Попробуйте это:

string += another_string
1 голос
/ 14 марта 2012

Вы также можете сделать string << another_string

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...