我試圖使用GSUB串插紅寶石使用GSUB串插內
puts "Some words #{Lookup1[input[2]].gsub("[", "(")} some more words"
輸入數組看起來像這樣內:
input = [0,22,["Accounting","Customer Relations"],nil,nil,nil,nil]
我的目標是取代[]與( )
由於
我試圖使用GSUB串插紅寶石使用GSUB串插內
puts "Some words #{Lookup1[input[2]].gsub("[", "(")} some more words"
輸入數組看起來像這樣內:
input = [0,22,["Accounting","Customer Relations"],nil,nil,nil,nil]
我的目標是取代[]與( )
由於
> puts "Some words #{input[2].to_s.gsub('[','(').gsub(']', ')')} some more words"
#=> Some words ("Accounting", "Customer Relations") some more words
完美!謝謝Gagan –
這個答案無論如何都比@steenslag給出的答案差。 – mudasobwa
@mudasobwa:同意,最好使用'tr'然後多次使用'gsub',但是在OP的帖子中,他試圖使用'gsub'並且沒有得到他需要的輸出,所以我看到了解決方案,錯誤他在做。 –
假設要改變輸入的字符串表示[1]數組:
puts "Some words #{Lookup1[input[2]].inspect.tr("[]", "()")} some more words"
是您的目標,以取代本地Ruby語法使用圓括號而不是方括號首先聲明數組的? – mudasobwa
這是正確的。 –
當詢問您的代碼有問題時,如果顯示所需的輸出,它會有所幫助。請參閱「[mcve]」。 –