'''След дълга вечер, прекарана в решаване на интеграли, Весела Радостинова се сетила, че има изключително важна задача, която не е успяла да реши все още - да форматира текст по един специален начин, изискван от клиента на проект, по който работи. Но Весела била твърде изморена и се обърнала към добрите студенти от курса по Руби, с отчаян зов за помощ, като в замяна обещала да ви реши всичките интеграли.

Вашето първо предизвикателство е да помогнете на Весела, като напишете функцията format_string(string, width). Все още не сме казали как се дефинира функция в Ruby, но разчитаме на вашите умения да изровите тази информация.

Функцията трябва да приема непразен низ от символи string и естесвено число width, и го обработва по следния начин:

Премахва интервалите в началото и края на низа, ако има такива.
Редуцира всяка последователност от два или повече интервала между думите до един-единствен.
Заменя всяка малка буква с главна.
Центрира текста в поле с ширина width - допълва го поравно и от двете страни с интервали, така че дължината на низа да бъде равна на width. Това допълване се прави само ако дължината на текста след първите три стъпки е по-малка от параметъра width. Допълнително, ако width - дължината_на_низа_преди_центрирането е нечетно число, "нечетният" интервал трябва да се добави в края на низа.'''

def format_string(string, width)
    string.strip.squeeze(" ").upcase.center(width)
end