LINUX.ORG.RU

(PragmaticPerl) Выпуск 28

 


0

1

Выпуск 28

В этом номере:

★★★★★

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

Это когда на Perl код пишут.

дле меня код на хаскеле тоже китайская грамота. однако ж я далёк от мысли, что они его так скрывают, это просто моя проблема грамотности.

anonymous
()
Ответ на: комментарий от DELIRIUM

Про фамилию

Андрей Шитов

В англоязычном коммьюнити его зовут Andrey Shitov? К нему там серьёзно относятся?

Да, серьёзно. Разумеется, он не обошёл вниманием эту тему в своём блоге: http://blog.shitov.ru/58B4EC28-3FF1-387D-A178-4139092531D6/

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

Я над твоей тоже ржу, что поделать.

anonymous
()
Ответ на: комментарий от shell-script

Perl6 не имеет никакого отношения к perl5. Это совершенно независимо развивающиеся версии языков.
Perl6
развивающиеся

Толсто.

anonymous
()
Ответ на: комментарий от Deleted

Плюсы, руби и питоны.

о, всё ясно - «руби и питоны», а потом снова «руби питоны» и так каждые 2-3 года )

bananym
()
Ответ на: комментарий от anonymous

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

о да. например:

if xs and x in xs: return xs

(примечание: xs — список или ничего; bool(xs) == False, если это None или [])

как это лаконичнее написать на умеренно старом перле без цпана (т.е., на самом языке) и без магии, чтобы ясно читалось? т.е., какой код мы увидим в легаси-проектах? ($xs — arrayref)

anonymous
()
Ответ на: комментарий от anonymous
return @array if ($x ~~ @array);

Проверять, существует ли массив - не надо, если он не был инициализован, интерпретатор сам об этом скажет.

shell-script ★★★★★
()
Ответ на: комментарий от Deleted

Не баттхёрть, няша, ты просто устарел.

Не выдумывай. Всякие ruby,python,c#,java и подобные языки на самом деле топорные. Существуют случаи когда из-за этой топорности вместо того чтобы решать задачу вы вынуждены думать как переделать программу так чтобы можно было решить задачу. Для разработки сложных систем эти топорные языки малопригодны. Такой фигней не приходится страдать с с++,си,perl. Вы как хотите, но я выбираю лучшее решение.

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

если совсем древний perl в вакууме, то

$xs if defined$xs and @$xs and grep $_ eq 'x', @$xs;

если массив большой, то grep.. можно поменять на чтото типа:

do { my $i; for (@$xs) { last if $i = $_ eq 'x' } $i }

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

если источник не надежный, то проверка defined $xs and @$xs может свалиться когда $xs не arrayref, поэтому лучше так ref($xs) eq 'ARRAY' and @$xs

anonymous
()
Ответ на: комментарий от bananym

После ref($xs) eq 'ARRAY' проверка @$xs не нужна, т.к. обход пустого массива все равно является случаем обхода массива.

return $xs if ref($xs) eq "ARRAY" and grep $_ eq "x", @$xs;

если $xs надежно дает «ARRAY» или undef, то проверки $xs достаточно

return $xs if $xs and grep $_ eq "x", @$xs;

код будет проще если «strict refs» не включен (или отключен) на текущую область

return $xs if grep $_ eq "x", @$xs;

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

У тебя очень странное представление о вышеупомянутых двух языках, особенно в свете write-only перла :}

Deleted
()
Ответ на: комментарий от anonymous

Твой код не эквивалентен питоновому, не говоря уже о громоздкости.

поведай, что я упустил?

тут вот предложили core-модуль List::Util, с ним:

@$xs if defined$xs and defined first { $_ eq 'x' } @$xs;

+ если использовать обычный perl-список:

@xs if defined first { $_ eq 'x' } @xs;

кстати, как будет выглядеть проверка в python того, что «xs» является списком(поймет «in»)?

bananym
()
Ответ на: комментарий от Deleted

особенно в свете write-only перла :}

может в свете write-only Mystra_x64? )

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

@xs if defined first { $_ eq 'x' } @xs;

Вы все попадете в адЪ. А что, компилятор до сих пор не может проверить, что вызывающая сторона ждет массивов, а не булочек с маком?

anonymous
()
Ответ на: комментарий от Deleted

Вот и раскрылся перед нами очередной кукаретик.

У тебя очень странное представление о вышеупомянутых двух языках,

Может потому что я владею теорией разработки сложных систем и мне известны случаи когда вышеупомянутые топорные языки не позволяеют сделать то что нужно, а ты всего этого не знаешь?

особенно в свете write-only перла :}

Если Perl является write-only, то как я этот код разбираю, дорабатываю и исправляю? Что-то тут не клеится, не так ли? Скажи что я умею читать код потому что я такой гений и я тебе тут обосную что я вполне нормальный человек без каких-то гениальных способностей, а вот ты тот еще глупец. Это кстати именно так (включи логику и подумай сам).

PS: Если ты не научился читать Perl-код, то это, мать твою, не проблема Perl. Я так понимаю что ты не понимаешь почему наезжая на Perl ты выставляешь себя кретином?

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

Вы все попадете в адЪ.

.i.

А что, компилятор до сих пор не может проверить, что вызывающая сторона ждет массивов, а не булочек с маком?

такая задача не стояла

anonymous
()
Ответ на: комментарий от Deleted

Объём твоего БАХРЕЙНА как бы намекает :}

Именно так и отвечай всегда: никогда не вникай в содержание сообщении и предмет суждения. Но если сообщения других людей для тебя тоже write-only то даже думай о том что я написал в прошлом предложении.

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

Зачем мне думать о каком-то безумце, который всё, что смог сделать это выйти из себя на пустом месте и написать «буллшит» про языки, которые он не умеет, обожествляя своё нечитабельное говно, которое ему якобы понятно и удобно? :}

Deleted
()
Ответ на: комментарий от anonymous

То есть как не стояла? Или это даже в рантайме проверок нет?

anonymous
()
Ответ на: комментарий от Deleted

и написать «буллшит» про языки, которые он не умеет

подумайте о своём первом сообщении в треде

bananym
()
Ответ на: комментарий от anonymous

Если Perl является write-only, то как я этот код разбираю, дорабатываю и исправляю? Что-то тут не клеится, не так ли? Скажи что я умею читать код потому что я такой гений и я тебе тут обосную что я вполне нормальный человек без каких-то гениальных способностей, а вот ты тот еще глупец. Это кстати именно так (включи логику и подумай сам).

У меня в одном проекте были люди, писавшие ассемблерный код под dsp чипы от AD. Я к ним до сих пор на могилы не хожу, такая вот ненависть.

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

А что, компилятор до сих пор не может проверить, что вызывающая сторона ждет массивов, а не булочек с маком?
То есть как не стояла? Или это даже в рантайме проверок нет?

задача поставлена весьма не явно, может еще раз подробнее определите? (и давайте для perl-а использовать его нормальные списки, а не arrayref, там где это не нужно)

bananym
()
Ответ на: комментарий от anonymous

Нет, приведи сначала эквивалентный код на перле этого жалкого питонового однострочника.

anonymous
()
Ответ на: комментарий от bananym

Ну например:

Я хочу получить длину строки, а вместо строки «12.36.26.00.65.800.100500» мне возвратили число 1236260065800100500?

anonymous
()
Ответ на: комментарий от Deleted

XXI век на дворе, а у нас всё битвы безумных инвалидов. Компилятор в перле числа от строки отличить не может. Кому такой язык нужен? Кошкам Куклачева?

anonymous
()
Ответ на: комментарий от Deleted

Зачем мне думать о каком-то безумце, который всё, что смог сделать это выйти из себя на пустом месте

Выйти из себя? Вы серьезно думаете что из-за всяких кукаретиков я буду из себя выходить? Вы слишком о себе выского мнения.

и написать «буллшит» про языки, которые он не умеет,

И кто вам сказал что я не умею эти языки? Я умею эти языки и поэтому знаю почему они буллшит.

Вы - забавный (или глупый): мало что вы придумали себе то что я не умею эти языки, так еще не поняли то что вам было сказано. Теперь я еще сильнее уверен в умственных способностях сторонников YOBA-языков.

обожествляя своё нечитабельное говно,

Говно - это кучка неучей вроде вас которые не то что Perl-код, они даже не понимают содержание собщении которые им пишут.

которое ему якобы понятно и удобно? :}

Якобы? - Ну-ну. Главное чтобы вы сами в это верили - так вы будете выглядеть несознательным лохом, что сильно хуже если вы сознательный лох.

Продолжайте.

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

Тебе привели уйму конструкции которые могут помочь решить задачу. Сформулируй вменяемо задачу - тогда и будет тебе эквивалент.

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

Я хочу получить длину строки, а вместо строки «12.36.26.00.65.800.100500» мне возвратили число 1236260065800100500?

Вы хоть какой-то формулируйте яснее, что и от кого вы хотели и каким образом. Код покажите?

bananym
()
Ответ на: комментарий от anonymous

Эта хрень ищет строку 'x' в списке строк?

Вы прозорливый, только не совсем в списке, а в списке по ссылке.

bananym
()
Ответ на: комментарий от Deleted

Не баттхёрть, няша, ты просто устарел.

что ещё можно ожидать, когда нет аргументов? переход на личности. но на твою переходить нет смысла, слишком ничтожна.

anonymous
()
Ответ на: комментарий от weare

Неужели Perl так плох что о нем нечего сказать

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

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

Отличает. И между прочим, автоматическая типизация доставляет.Жуть как в рубЯх и питонах отвлекает ручная конвертация. Перл и тикль шагнули в 21 век, остальные плетутся в хвосте.

Deleted
()
Ответ на: комментарий от anonymous

Я хочу получить длину строки ...

пугачёва ещё про таких пела: http://romance.ru/cgi-bin/index.cgi?page=85&item=352&sort=H1&page...

длина строки length, символ из строки substr и пр пр пр — очень даже «интернационально», во многих языках либо похоже, либо синонимы. но не во всех. прямо открытиЕ!

anonymous
()
Ответ на: комментарий от bananym

Ну типа:

my str_len = stl (item); $str_len++;

Странно, но это мне сильно напоминает идеологию 1C в их флагманских продуктах. Говнокод на бейсике, пытающийся решить задачи бизнеса, на уровне говнокода для аптек или бензоколонок.

anonymous
()
Ответ на: Про фамилию от shurupov

Читали-читали. Вся суть перл-разработчиков. Послать несогласных, сомневающимся предложить пососать

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