2012-03-14 86 views

回答

5
irb(main):001:0> a = "ezcezc" 
=> "ezcezc" 
irb(main):002:0> a << "erer" 
=> "ezcezcerer" 

irb(main):003:0> a += "epruneiruv" 
=> "ezcezcererepruneiruv" 
+1

我見過<<用於數組嗎? – Akshat 2012-03-14 17:28:43

+0

是的,它也可以在數組中使用,以將新對象推入數組中。 – MrDanA 2012-03-14 17:34:30

+2

正確,但'+ ='和'<<'是不同的,這是什麼樣的例子? ezxezc? – 2012-03-14 18:08:17

3

嘗試了這一點:

string += another_string 
+0

天哪就是這麼簡單:) – Akshat 2012-03-14 17:27:03

+0

總是與Ruby! – MrDanA 2012-03-14 17:34:36

1

你可以做string << another_string以及

8

基本上有兩種不同的方式:

  1. <<(稱爲「鏟子」)相連接,這相當於呼叫concat。請注意,像Ruby中的大多數運算符一樣,<<是一個方法調用

    str = "foo" 
    str << "bar" 
    str #=> "foobar" 
    
  2. 串聯並分配與+=

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

    重要的是要注意,這是相同是非常重要的:

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

    這意味着用這種方式一個新對象創建了,而第一種方法則不是,因爲對象已被修改。

+0

+1來解釋兩者之間的區別。 – josh3736 2012-03-14 17:40:22

+0

更好的答案。我冒昧地編輯它,因爲'<<'是一個運算符,即使它對應於一個方法調用。 – 2012-03-14 18:11:17