2010-07-28 5 views
4

Я хочу добавить пробелы до и после случайных строк.Добавьте пробелы до и после строки в рубине?

Я попытался использовать «Random_string» .center (1, «»), но он не работает.

Благодаря

+0

' str.ljust (интермедиат) и 'str.rjust (интермедиат)' были методы, которые я искал, когда я пришел на этот пост , [Подробнее об этом здесь] (https://ruby-doc.org/core-2.2.0/String.html#method-i-ljust) –

ответ

3

Моему рубин ржавый, но IMO ничего плохого с легким способом

def pad(random) 
    " " + random + " " 
end 

padded_random_string = pad("random_string") 

с использованием центром

"random_string".center("random_string".length + 2) 
+1

Не должно быть 'pad (" random_string ")'? –

+0

Хех, я утверждаю, что Ruby rust :) исправил его ... –

3
irb(main):001:0> x='Random String' 
=> "Random String" 
irb(main):002:0> y=' '+x+' ' 
=> " Random String " 
irb(main):003:0> x.center(x.length+2) 
=> " Random String " 

Параметром center является общей длиной желаемую строку вывода (включая отступы).

+0

на основе документов, вам не нужен второй аргумент для центра, но я не тестировал, так что это может быть неправильно :) –

+0

@ Lucas- второй параметр, если присутствует, является строкой, используемой в качестве символа заполнения. Если он опущен, используется пробел. Я думаю, что это было добавление в Ruby 1.8, и эта ссылка может ссылаться на версию 1.6. – bta

+0

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

4

Я имею в виду, есть ли причина, по которой вы не можете просто так сделать?

padded_string = ' ' + random_string + ' ' 
5

Я считаю, что это самое элегантное решение:

padded_string = " #{random_string} "

Ничего плохого принимая легкий путь.

+0

Это самое чистое решение. –

1

.ljust "Random_string" ("Random_string" .length + 4) .rjust (.length + 8 "Random_string")
или .ljust "Random_string" (17) .rjust (21) #, где «Random_string "13 символов

с использованием метода .ljust с .rjust методом

+0

Другими словами, просто. Просто плюс методы .rjust вместе –

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