2017-03-23 53 views
0

我想分配多個字符串值給一個變量。 例如:如何在紅寶石中用逗號分隔字符串的結果?

@default_mail = "[email protected]" 

@mail = "[email protected]" 

然後我加入這兩個變量和分配到一個新的變量。可能這不是一個非常有效的方式:

@reciever = @default_mail + @mail 

這給了我。

「SID @ mail.comme @ mail.com」

但我想這是一個數組。我怎麼做?

+0

你的問題還不清楚。在標題中,你問的是如何使用逗號連接字符串,在你的問題中,你問的是數組。字符串和數組是完全不同的東西。這兩個是哪一個? 「我希望這是一個數組」是什麼意思?這句話中「this」意味着什麼?你想要你在數組中顯示的字符串嗎?你想在數組中使用逗號的字符串嗎?還有別的嗎?你能提供你想要的輸出嗎? –

回答

1

我猜你想收到這樣的:

@receiver = [@default_mail, @mail] 
+0

是的。那麼這是如何完成的?提到數組內部的變量。 – user3576036

+0

你可以把它寫成'a = 1; b = 2; c = [a,b]' –

+0

@IgorPavlov:爲了好玩,你可以省略括號:'a = 1; b = 2; c = a,b'或甚至'c = a = 1,b = 2' –

1

對字符串數組使用join

@reciever = [@default_mail, @mail].join(', ') 

這給"[email protected], [email protected]"

+0

我認爲OP想要一個數組,而不是一個字符串。 –

+1

目前還不清楚。問題的標題,問題的代碼和問題文本的大部分是關於字符串連接的;在最後只有一個提到的數組:「我希望這是一個數組」,但沒有說明「this」應該是什麼。 –

2

我知道你這樣,你的接收機無論如何數組應該包含默認郵件。

@default_mail = "[email protected]" 

@receiver = [@default_mail] 
# => ["[email protected]"] 

現在您可以添加儘可能多的接收者地址。

@mail = "[email protected]" 
@receiver << @mail 
# => ["[email protected]", "[email protected]"] 

如果每個接收器應該僅僅接收一個郵件,你的地址是不是唯一的?

@receiver << @mail 
# => ["[email protected]", "[email protected]", "[email protected]"] 

...所以讓他們與衆不同:

@receiver.uniq 
# => ["[email protected]", "[email protected]"]