Рубиновый лайнер для передачи элементов массивов в строку с разделителем - PullRequest
9 голосов
/ 28 февраля 2012

У меня есть такой массив:

myarray = ['value1','value2','value3']

И я ищу такой массив из одного элемента:

mynewarray = ['value1|value2|value3']

Я знаю, как это сделать, используя каждый иконкатинируя в цепочке, но мне интересно, есть ли способ сделать это красивым и красивым Ruby ...

Ответы [ 6 ]

26 голосов
/ 28 февраля 2012

Вы можете использовать метод Array # join.

 myarray.join('|')

Array # join doc :

Возвращает строку, созданную путем преобразования каждого элемента массива в строка, разделённая септ.

[ "a", "b", "c" ].join        #=> "abc"
[ "a", "b", "c" ].join("-")   #=> "a-b-c"
4 голосов
/ 28 февраля 2012

Как насчет ...

mynewarray = [myarray.join('|')]
1 голос
/ 27 марта 2013
[[ "a", "b", "c" ]*'|']

выведет

["a|b|c"]
1 голос
/ 28 февраля 2012

Вы можете попробовать следующее:

[myarray.join("|")]
1 голос
/ 28 февраля 2012

Вот, пожалуйста:

[myarray.join('|')]

Это должно сделать это.

0 голосов
/ 06 августа 2012
"aa|bb|cc".scan(/[^\|]+/)

выведет

["aa", "bb", "cc"]

с Ruby 1.9.x

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...