Что это делает? - PullRequest
       7

Что это делает?

4 голосов
/ 08 мая 2011
gsub(/^/, "\t" * num)

Какой символ заменяется?

Ответы [ 2 ]

7 голосов
/ 08 мая 2011

Никакой символ не подставляется, он просто вставляет num вкладки в начале, чтобы вы могли сказать, что он заменяет маркер "начало строки" нулевой ширины.Кто бы ни написал это, было бы лучше с чем-то вроде этого:

tabbed = "\t" * num + original

Регулярное выражение действительно не подходит для простой конкатенации строк.

Уточнение: Если вы ожидаете, что ваша строка будет содержать несколько строк, тогда используйте:

gsub(/^/, "\t" * num)

для префикса всех строк с вкладками, это разумно и менее шумно, чем разделение, префикс и повторное соединение,Если вы ожидаете иметь дело только с одной строкой в ​​вашей строке, тогда простая конкатенация строк будет лучшим выбором.

5 голосов
/ 08 мая 2011

^ означает «начало строки» в синтаксисе регулярных выражений, поэтому в начале каждой строки будут вставлены символы табуляции num.Технически можно сказать, что он заменяет пустую строку в начале каждой строки.

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