2013-10-27 125 views
-2

我有一個Ruby自動生成的Narray,其格式如下:[x,y],其中xy是整數。如何轉換數組輸出格式?

我想轉換成[x,y]這種類型的字符串:

"p\.x\.y" 

我還沒有成功地使用正則表達式轉換它。

+0

什麼是對....? –

+0

p是一個固定的字母,無論發生什麼, – sidney

+1

以'p'字符串開始,然後遍歷數組元素,將數組元素添加到您喜歡的任何裝飾中,例如'\'。 – kostja

回答

2

正則表達式用於匹配模式,而不是生成字符串。

來完成你想要什麼,只要使用與sprintf的圖示操作:

array = [1,2] 
puts sprintf("p\\.%d\\.%d", *array) 

這將輸出"p\.1\.2"

+0

謝謝,最後很明顯,我沒有注意到我可以這樣做,我很確定我必須使用正則表達式,我錯了 – sidney

+0

它更容易使用['String。%'](http:// www .ruby-doc.org/core-2.0.0/String.html#method-i-25):''p \。%d \。%d'%[1,2]#=>「p \\。 1 \\ 2「',它也輸出爲'p \ .1 \ .2'。不使用雙引號嵌入格式,而是強制使用雙引號反斜槓,請使用單引號。 –

0

替代方式:

x = [1,2] 
puts "p\\.#{x[0]}\\.#{x[1]}" #=> p\.1\2