Используя 10
для длины, к которой вы добавляете, и 'x'
, чтобы быть к тому, к чему вы добавляете, это заполнение справа:
>> asdf = %w[0 1 2 3 ] #=> ["0", "1", "2", "3"]
>> asdf += (asdf.size < 10) ? ['x'] * (10 - asdf.size) : [] #=> ["0", "1", "2", "3", "x", "x", "x", "x", "x", "x"]
или
>> asdf = (asdf.size < 10) ? ['x'] * (10 - asdf.size) + asdf : asdf #=> ["x", "x", "x", "x", "x", "x", "0", "1", "2", "3"]
до лопатки
Если для вас имеет смысл использовать Arkey:
class Array
def pad_right(s, char=nil)
self + [char] * (s - size) if (size < s)
end
def pad_left(s, char=nil)
(size < s) ? [char] * (s - size) + self : self
end
end
%w[1 2 3].pad_right(5, 'x') # => ["1", "2", "3", "x", "x"]
%w[1 2 3].pad_left(5, 'x') # => ["x", "x", "1", "2", "3"]