LINUX.ORG.RU

Говорили что Перл старый, ни на что не способный язык. Проверим?

 , , , ,


9

4

Говорили что Перл старый, ни на что не способный язык. Проверим?

Задачка:

Необходимо для каждой пары слов получить новое слово, так, чтобы окончание первого совпадало с началом второго, например, шлакоблок + окунь = шлакоблокунь. Это слово надо вывести в стандартный поток вывода.Если слова возможно соединить несколькими способами, надо выбрать тот, что обеспечивает максимальную общую часть, например папа + папаха = папаха (а не папапаха). Необходимо написать последнее условие.

Я просто взял практически первое попавшаяся задание.

На Перле программа заняла 5 строк не считая ввода-вывода. С вводом-выводом - 7 строк.

А как у вас? На ваших Супер-пупер языках?

Перемещено xaizek из general

Перемещено hobbit из talks



Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от kompospec

Перловики-борщевики пришли учить обработке строк. Трепещу. =)

wandrien ★★
()
Ответ на: комментарий от wandrien

n���Z��뢿�Yh��fzj+�ȳz��ߍ�シo+^��aj�-y�k��m��e�ƭ{]v�My�v��"���g����z��j���Z�ǫ�����醟ۢyb�����

это выдаёт ваша на коленке написанная прога

http://sandbox.onlinephpfunctions.com/code/f97d5eca658f31be49b53c5dd924619814bf8ca4

Но ошибок нет.

kompospec
() автор топика
$ ghci
GHCi, version 8.8.3: https://www.haskell.org/ghc/  :? for help
Prelude> import Data.List
Prelude Data.List> let test xs ys = putStrLn $ last $ map ((xs ++) . snd) $ filter (uncurry (==) . fst) $ zip (zip (reverse (tails xs)) (inits ys)) (tails ys)
Prelude Data.List> test "шлакоблок" "окунь"
шлакоблокунь
Prelude Data.List> test "папа" "папаха"
папаха

Одна строчка, не считая импорта. Не особо длинная.

Miguel ★★★★★
()
Ответ на: комментарий от kompospec

Удивительно, что она вообще что-то выдаёт, когда вы её загнали в бесконечный цикл.

И этот человек учит обработке строк :D

wandrien ★★
()
Ответ на: комментарий от anonymous-angler

Все всё поняли. Написали кучу кода. А вы всё никак до конца всё не поймёте. - Уже ничем вам помочь не смогу, к сожалению.

kompospec
() автор топика
Ответ на: комментарий от kompospec

Валяюсь

Какой код? Исправьте то, что вы натворили в коде по ссылке на онлайн php. Не можете исправить что ли? Думаю, вы не программист.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от kompospec

Ой, кисо решило дипломами задавить. Какая прелесть.

Miguel ★★★★★
()
Ответ на: комментарий от kompospec

Моё образование вам помешало запустить код? Как интересно…

wandrien ★★
()
Ответ на: комментарий от kompospec

Всяко лучше, чем Куйбышевский авиационный институт.

Miguel ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Кто код в REPL пишет? Разумеется скрипт.

В нормальных условиях подобная штука будет одной из функций в большом проекте. А потому даже импорты не считаются.

Miguel ★★★★★
()
Ответ на: комментарий от anonymous-angler

В любом случае, чтобы это начало походить на приличный заработок для программиста, нужно ещё на 10 умножить.

WitcherGeralt ★★
()
Ответ на: комментарий от kompospec

А ты не обращаешь внимания на то что пользователь может ввести абсолютно любую строку, не соответствующую твоему паттерну. Экспертиза категории б.

anonymous-angler ★☆
()
Ответ на: комментарий от Miguel

Думается мне, что в нормальных условиях ты не будешь окуней со шлакоблоками складывать.

WitcherGeralt ★★
()
Ответ на: комментарий от wandrien

Ок

Это с доработками можно принять как 6 строк. У меня 5 строк.

В принципе - одинаково. Но это PHP - это тоже мой любимый язык.

kompospec
() автор топика
Ответ на: комментарий от WitcherGeralt

Странный вы. Я хочу опубликовать код победителя и его язык, а вы что-то темните.

Пока я победитель и Перл.

kompospec
() автор топика
Ответ на: комментарий от kompospec

Победитель собственной специальной олимпиады. Подсказываю: ты мог просто опубликовать себя как победителя и не засорять лолксы, просто и эффективно :D

anonymous-angler ★☆
()
Ответ на: комментарий от kompospec

Считать умеешь?

Говорили что Перл старый, ни на что не способный язык. Проверим? (комментарий)

Тут 4 строки.

А тут правка под твой старый питон:

Говорили что Перл старый, ни на что не способный язык. Проверим? (комментарий)

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Нет. Мне не нравится. Там куча функций. Количество строк должно быть приблизительно равно количеству функций.

kompospec
() автор топика
Ответ на: комментарий от kompospec

Входная строка есть, просто ты не осилил понять написанное.

WitcherGeralt ★★
()
Ответ на: комментарий от kompospec

Я хочу опубликовать код победителя и его язык, а вы что-то темните.

Победитель:

STDIN.read.lines do |line|
    a, b = line.strip.split(/[ +]+/)
    puts "#{a} + #{b} = #{a}#{b[([a.size, b.size].min().step(0, -1).find{|i| b[0,i] == a[-i,i]})..-1]}"
end
wandrien ★★
()
Ответ на: комментарий от kompospec

Итак. Питон получился на уровне PHP - 5 строк

Но Перл пока первый.

kompospec
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.