2016-06-29 61 views
0

我試圖使用GSUB串插紅寶石使用GSUB串插內

puts "Some words #{Lookup1[input[2]].gsub("[", "(")} some more words" 

輸入數組看起來像這樣內:

input = [0,22,["Accounting","Customer Relations"],nil,nil,nil,nil] 

我的目標是取代[]與( )

由於

+1

是您的目標,以取代本地Ruby語法使用圓括號而不是方括號首先聲明數組的? – mudasobwa

+0

這是正確的。 –

+0

當詢問您的代碼有問題時,如果顯示所需的輸出,它會有所幫助。請參閱「[mcve]」。 –

回答

1
> puts "Some words #{input[2].to_s.gsub('[','(').gsub(']', ')')} some more words" 
#=> Some words ("Accounting", "Customer Relations") some more words 
+1

完美!謝謝Gagan –

+0

這個答案無論如何都比@steenslag給出的答案差。 – mudasobwa

+0

@mudasobwa:同意,最好使用'tr'然後多次使用'gsub',但是在OP的帖子中,他試圖使用'gsub'並且沒有得到他需要的輸出,所以我看到了解決方案,錯誤他在做。 –

2

假設要改變輸入的字符串表示[1]數組:

puts "Some words #{Lookup1[input[2]].inspect.tr("[]", "()")} some more words"