2013-07-09 3 views

ответ

5
c = a + "," + b 
# or 
c = a << "," << b # warning: will modify 'a' 

Просто используйте простую конкатенацию (оператор +/<<). Обратите внимание, что если вы используете <<, тогда будет изменен a, поэтому первый метод, вероятно, является лучшей идеей, если вы не заботитесь о a.


Для многих строк, первым поместить их в массив:

myArray = ['some string', 'another string', 'string'] 

Затем с помощью функции присоединения:

myArray.join(',') # some string,another string,string 
# or 
myArray * ',' # same as above, * is an alias for join 
+0

Спасибо, за решение, но если у меня есть 100 строк, то что мне делать. –

+0

@ RavendraKumar: сделать то же самое. –

+0

@RavendraKumar помещает их в массив, а затем 'yourArray.join (',')' – Doorknob

2

В этом случае интерполяция является самым быстрым.

c = "#{a},#{b}" 
  • Обратите внимание, что если вы используете <<, то a также будет изменено, и что поражения вашей цели с переменной c отличной от a. Поэтому я думаю, вы этого не хотите.

  • А использование + известно очень медленно. И, по мнению многих людей, труднее читать, чем интерполяцию.

+2

Самый быстрый? Ты уверен? У вас есть сплошные номера для резервного копирования ваших слов? :) –

+0

Я читал несколько раз, что интерполяция (в основном) выполняется во время процесса синтаксического анализа и намного быстрее, чем методы вызова. '<<' подходит, '+' работает очень медленно. – sawa

+1

Как вы думаете, что это реализовано? (подсказка: значения неизвестны до времени исполнения) –

Смежные вопросы