LINUX.ORG.RU

История изменений

Исправление Lilly, (текущая версия) :

По условиям задачи правильнее только будет так:

> for $*IN.lines {
    if .words.elems != 2 { say "I want two words..."; next }
    my ($x, $y) = |.words;
    say $y.comb.produce(&[~]).map({ $x.ends-with($_) ?? $x ~ $y.substr(.chars) !! Empty }).max // "$x$y"
}
о к
ок
шлакоблок окунь
шлакоблокунь
форель рельса
форельса
папа папаха
папаха
^CPressed CTRL-c, press CTRL-c again to exit

5 строчек с вводом-выводом, всё по канонам Супер-пупер языков.

Исходная версия Lilly, :

По условиям задачи правильнее только будет так:

> for $*IN.lines {
    if .words.elems != 2 { say "I want two words..."; next }
    my ($x, $y) = |.words;
    say $y.comb.produce(&[~]).map({ $x.ends-with($_) ?? $x ~ $y.substr(.chars) !! Empty }).first // "$x$y"
}
о к
ок
шлакоблок окунь
шлакоблокунь
форель рельса
форельса
^CPressed CTRL-c, press CTRL-c again to exit

5 строчек с вводом-выводом, всё по канонам Супер-пупер языков.