2013-10-27 79 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