2017-06-08 42 views
0

我有这样我使用我怎么能通过数组索引在ruby中替换和数组元素?

 inputx.scan(/.*?\n/) 

用于创建数组,这是我的数组

 element 1 => [car;dog;soda] 
     element 2 => [bunny;pc;laptop] 
    element 3 => [hand;sword;shield] 

的表示这是我的文本文件,我使用的扫描方法创建数组inputx.scan数组( /.*?\n/)

 car;dog;soda 

     bunny;pc;laptop 

    hand;sword;shield 

我需要通过阵列的数目来代替每个为逗号获得此

这是我的预期输出

在这个输出中我替换了“;”由“nthelementnumber;”示例1;

 car1;dog1;soda 

     bunny2;pc2;laptop 

     hand3;sword3;shield 

请帮我

+0

你遇到的问题是什么?你的代码有什么问题?你有错误信息吗?什么是错误信息?你得到的结果不是你期待的结果吗?你期望得到什么结果?为什么?你得到的结果是什么?两者有什么不同?你正在观察的行为不是所期望的行为?什么是期望的行为,为什么,观察到的行为是什么,以及它们以何种方式不同?请提供[mcve]。 –

回答

2

这是一个有点分不清究竟你的阵列是什么样子,但我会采取一种猜测:

element = ['car;dog;soda', 
      'bunny;pc;laptop', 
      'hand;sword;shield'] 

如果这是正确的,你可以通过类似的方式得到你正在寻找的输出:

element.each_index {|i| element[i] = element[i].gsub(';', "#{i+1};")} 

each_index迭代器为您提供每个索引(不出所料)。然后,您可以使用每个索引来操作数组中的每个值。

+0

是的,非常感谢你帮我完成我的代码;我非常感激:) – enigma