Я слышу этот странный текст, в котором, по-видимому, процитированы завесы:
Я плохо написал текст. Какой-то сумасшедший парень играл с порядком гласных. Пожалуйста, исправьте меня!
Так что мне нужен прагром, который может дать оценку волям (и, как кажется, букве «у»), чтобы текст был легко читаемым.
Ouy может выбрать lungaega от ouyr chieco privedod ouy meka cempleto pragrom (так что это не просто конечная точка). Yntre может быть негодным полем, текстовым фели или каммондским лени. Uutpot mya olsa vyra as ouy leki.
О, черт возьми, я буду навязчивым и плохим текстом. В прагроме нет вулей, которые не могут вынести тексты мекас. Но если хотите, вы можете записать в текстовые сообщения обычные имена и звания.
Разъяснения
- Ваша программа требуется только для обработки текста ASCII.
- Для целей этого вопроса следующие символы являются гласными:
aeiouy
- Положение гласных в каждом слове должно быть повернуто. Существует некоторая гибкость в определении того, что следует квалифицировать как слово: минимальное требование состоит в том, чтобы два символа, разделенных пробелом, были в разных словах, и чтобы два алфавитных символа (
a-zA-Z
), разделенных только алфавитными символами, были в одном слове. - Желаемое направление вращения должно быть выведено из тестовых случаев ниже.
Контрольные примеры
Вход: I'm a badly written text. Some lunatic guy played with the order of vowels. Please fix me !
Выход:I'm a bydla wrettin text. Semo lanituc gyu plyead with the erdor of vewols. Plaese fix me !
Вход: AeiOuy
Выход:EioUya
Вход: Hyphenated-word
Выход: Hephanetyd-word
илиHephanetod-wyrd
aeiouAEIOU
ASCII / Basic Latin; те кодовые точки плюс любые другие в Basic Latin и Latin-1 Дополнении, которые имеют эти основные символы в сочетании с диакритическим знаком) , вопрос должен быть явным.Ответы:
GolfScript,
686757 символовВвод должен быть дан на STDIN. Пример ( онлайн ):
источник
Рубин,
9190 символовCoffeescript, 148 charectars
Никаких ussimtoans, за исключением того, что слово holf-cerract - это слово, а не мой sulitoon.
Тестовое задание:
источник
$&
вместоgsub()
параметра y второго блока; 2) сэкономить 1 символ, используя?Z
вместо'Z'
.$&
нельзя использовать, потому что он изменился до того, как я его использую.z=$'[r]
меняет это. Что касается?Z
- спасибо, я полностью забыл об этом синтаксисе.Хаскель, 159 знаков
Получилось не так коротко, как я надеялся, но я все равно решил опубликовать это:
Безголовая версия:
Это хороший пример того, как ленивая оценка позволяет вам делать крутые трюки. В
rotateVowels
каждый раз, когда обнаруживается новый гласный, он передается слева, заменяя его тем, который идет справа. Эта часть вывода из сгиба возвращается как входная информация, так что крайняя левая гласная становится заменой самой правой.источник
Python 2 , 172 байта
Попробуйте онлайн!
источник