Dado um arquivo de texto de muitas linhas, onde os campos dentro de uma linha são delineados por um único caractere $
, escreva um programa que alinhe cada coluna de campos garantindo que as palavras em cada coluna sejam separadas por pelo menos um espaço. Além disso, permita que cada palavra em uma coluna seja justificada à esquerda, justificada à direita ou justificada pelo centro em sua coluna.
Use o seguinte texto para testar seus programas:
Dado $ a $ text $ file $ de $ many $ lines onde $ fields $ dentro de $ a $ line $ $ $ $ $ $ $ $ single $ 'dollar' $ character escreva um programa $ a $ que $ alinha $ cada $ coluna $ de $ campos por $ garantindo $ que $ palavras $ em $ cada $ A coluna $ é $ separada $ por $ em $ menos $ um $ espaço. Além disso, $ permite $ para $ cada $ palavra $ em $ a $ coluna $ para $ seja $ ou $ restantes $ justificado, $ certo $ justificado ou $ center $ justificado $ dentro de $ sua coluna $.
Observe que:
As linhas de texto de entrada de exemplo podem, ou não, ter caracteres em dólares finais. Todas as colunas devem compartilhar o mesmo alinhamento. Caracteres de espaço consecutivos produzidos adjacentes ao final das linhas são insignificantes para os propósitos da tarefa. O texto de saída será visualizado em uma fonte com espaçamento único em um editor de texto simples ou terminal básico. O espaço mínimo entre colunas deve ser calculado a partir do texto e não codificado. Não é um requisito adicionar caracteres separadores entre colunas ou em volta delas.formatText
é uma função.
testString: 'assert(typeof formatText === "function", "formatText
is a function.");'
- text: 'formatText
com a entrada acima e justificação "direita" deve produzir o seguinte:'
testString: 'assert.strictEqual(formatText(testInput, "right"), rightAligned, "formatText
with the above input and "right" justification should produce the following: ");'
- text: 'formatText
com a entrada acima e a justificação "esquerda" devem produzir o seguinte:'
testString: 'assert.strictEqual(formatText(testInput, "left"), leftAligned, "formatText
with the above input and "left" justification should produce the following: ");'
- text: 'formatText
com a entrada acima e justificação "central" deve produzir o seguinte:'
testString: 'assert.strictEqual(formatText(testInput, "center"), centerAligned, "formatText
with the above input and "center" justification should produce the following: ");'
```