LINUX.ORG.RU

(PragmaticPerl) Выпуск 28

 


0

1

Выпуск 28

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

★★★★★

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

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

не понимаю, что именно вы пытаетесь продемонстрировать ..

my $str = "12.36.26.00.65.800.100500";
my $len = length $str;
printf "%s -> %d\n", $str, $len;
12.36.26.00.65.800.100500 -> 25
.. в чём проблема?

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

что ещё можно ожидать, когда нет аргументов?

Нет аргументов или вы не смогли понять о чем была речь?

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

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

Итак, вот что мы имеем:

1. Первая сторона: я и Perl. Я утверждаю что Perl-код не сложнее чем Си-, или С++-код, т.е. вполне легко читаем и понятен. Так же утверждаю что в Perl и Си возможно реализовать то что в топорных языках вынуждает заниматься перестроением кода, что может быть очень сильно накладно если проект большой и обвешан unit-тестами (вам скорее всего придется перерабатывать тесты).

2. Вторая сторона: Mystra_x64 и Perl. Mystra_x64 утверждает что Perl-код не понятен и язык write-only. Кроме того, некий Mystra_x64 ничего не понял из того что было сказано насчет топорности YOBA-языков.

Будем считать что случаи равносильные, т.е. оценка без предпочтении (не принимаем во внимание то что я смог осилить Perl, а он - нет).

Тогда вот эти связки будут равносильную мощность: 1. Perl и моя личность. 2. Perl и личность Mystra_x64.

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

Тогда остается следующее: 1. Моя личность. 2. Личность Mystra_x64.

Следовательно, чтобы разобраться что к чему, нужно разобрать личность. Вам что-нибудь понятно из того что я сказал? Это элементарная математическая логика которую проходят студенты на 1-м курсе ВУЗа.

PS: Вот вы возомнили себя судьей, а по результату я вижу что вы лишь простой школьник с мнением который делает предпочтение и на основе этого строит суждения. Не стоит вам лезть со своим длинным носом в подобные вопросы пока не обретете достаточный для этого уровень интеллекта. Глупость конечно не порок, но надо обучаться чтобы ее победить.

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

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

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

не понимаю, что именно вы пытаетесь продемонстрировать ..

Чтобы его понять, нужно задать ему over 100500+ уточняющих вопросов. Он либо специально не формулирует исчерпывающие условия задачи, либо он просто глуп и просто не умеет задачу формулировать обстоятельно. Я бы не стал тратить свое время на таких.

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

Перл и тикль шагнули в 21 век, остальные плетутся в хвосте.

Тебе сколько лет, мальчик? Такое уже было в ламповом васике, когда твой папка школу прогуливал.

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

Тогда, дядя, они плетутся в 19 веке.

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

Выше уже намекнули, что эта уйма конструкций решает не ту задачу, что код на педоне, от которого и начали плясать. Так что, давай без «сформулируй мне задачу», она уже сформулирована и решена. Напиши на перловке правильно, если сможешь, и возьми с полки пирожок.

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

Какое отношение синтаксис Perl имеет к тексту новости? Или это старческое ворчание?

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

если источник не надежный, то проверка defined $xs and @$xs может свалиться когда $xs не arrayref

Вся суть бестиповых гуаноязыков. Зато неимоверно гибкие, гуано, оно такое, пластичное.

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

Вся суть бестиповых гуаноязыков. Зато неимоверно гибкие, гуано, оно такое, пластичное.

А как вы хотели? Сейчас многие API на JSON и бывает приходится учитывать, что там «с той стороны» придумали.

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

Вся суть бестиповых гуаноязыков. Зато неимоверно гибкие, гуано, оно такое, пластичное.

Ну и как можно нормально разговаривать с такими мудаками вроде тебя?

use strict;
use Data::Dumper;

sub dumper(\@\%){
    my  ($a, $b) = @_;
    print Dumper \@$a;
    print Dumper \%$b;
}

my @arr  = (qw/1 2 3 4/);
my %hash = (qw/a 1 b 2/);

dumper(@arr, %hash);

Теперь попытка скомпилировать что-то подобное

dumper("sting", 123)
приведет к ошибке компиляции.

В очередной раз видимо что гуаноязык - это язык (органоид) кукаретиков.

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

Ты слепой или неграмотный? Сравни оба кода. Что делает педоновый код, а что перловый?

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

Да проблема в том, что если в вызов функции lenght вместо $string подставить другой объект. Что должен сделать компилятор? Я вот например хочу в зависимости от контекста вызова функции lenght возвращать или лямбду подсчета длины pool obj или целое число. Значит компилятор должен отслеживать контекст вызова и оптимизировать.

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

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

Так это для тебя. А я и код на Хаскеле читаю, хоть и «со словарём» но без особых мучений, и Перл не из постов на ЛОРе знаю. Ещё какие-нибудь будут теории относительно божественности Перла и низменности всех, кто не разделяет любовь к нему?

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

Да проблема в том, что если в вызов функции lenght вместо $string подставить другой объект. Что должен сделать компилятор?

Сгенерировать код который сделает stringify в рантайме.

Я вот например хочу в зависимости от контекста вызова функции lenght возвращать или лямбду подсчета длины pool obj или целое число. Значит компилятор должен отслеживать контекст вызова и оптимизировать.

Есть стандартная функция length которая работает так как описано здесь perldoc -f length.

Если не устраивает и нужно другое поведение, то вот:

use subs "length";

sub length{
  ...
};

anonymous
()

Почему perl6 начали делать на каком-то хаскеле, а не на гибком, удобном и быстром перле?

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

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

Да ладно? Прямо вот совсем-совсем не имеет отношения? Или может всё-таки чуть-чуть имеет? Ты хоть согласен, что прогресс в Perl 5 стагнирует уже много лет? Я не так давно закончил очередной подход к разгребанию легаси-кода на Перле, который верой и правдой работал около 15 лет. В итоге оказалось, что проще переписать всё на Питоне из-за его стандартной библиотеки. Да, возможно теперь этот код работает на какие-то миллисекунды медленнее, но зато не нужно патчить и пакетировать пару модулей из CPAN (невелика работа, но кто-то её должен делать, правда?), а весь деплой сводится к установке Питона из дистрибутива. Я бы предположил, что у Перла если и есть будущее, то только благодаря Perl 6. Но это же «совершенно независимо развивающиеся версии языков», так что теперь даже и не знаю...

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

Кто тут вообще спорит про перл?

Ларри Уолл родился 27 сентября 1954 года в Лос-Анджелесе в семье потомственных протестантских пасторов и вырос в небольшом городке Брементоне в штате Вашингтон. В детстве мечтал стать служителем церкви. Во время обучения и проявились задатки будущего автора Perl. В течение трёх лет, будучи студентом, Ларри работал в университетском компьютерном центре.

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

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

Сгенерировать код который сделает stringify в рантайме.

Предлагаете костыли в рантайме? А откуда библиотечная функция знает конктест вызова?

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

Нет аргументов или вы не смогли понять о чем была речь?

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

Итак, вот что мы имеем:

1. очень авторитетного анонимуса, который путает кто кому пишет.

Первая сторона: я и Perl.

я извиняюсь, но ты первый переходишь на свою личность. звучит как «я и эйфелева башня».

Я утверждаю что Perl-код не сложнее чем Си-, или С++-код, т.е. вполне легко читаем и понятен.

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

Так же утверждаю что в Perl и Си возможно реализовать то что в топорных языках вынуждает заниматься перестроением кода, что может быть очень сильно накладно если проект большой и обвешан unit-тестами (вам скорее всего придется перерабатывать тесты).

не могу сказать за все языки. лично я считаю перл очень лаконичным и свободным, меня устраивает. так... мы о чём-то тут спорить собрались?

Вторая сторона: Mystra_x64 и Perl.

слишком много внимания этой ничтожной личности. я бы не стал даже рассматривать.

Тогда вот эти связки будут равносильную мощность: 1. Perl и моя личность. 2. Perl и личность Mystra_x64.

ого. я что то надеялся ты себя выше ценишь...

Вам что-нибудь понятно из того что я сказал? Это элементарная математическая логика которую проходят студенты на 1-м курсе ВУЗа.

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

PS: Вот вы возомнили себя судьей, а по результату я вижу что вы лишь простой школьник с мнением который делает предпочтение и на основе этого строит суждения. Не стоит вам лезть со своим длинным носом в подобные вопросы пока не обретете достаточный для этого уровень интеллекта. Глупость конечно не порок, но надо обучаться чтобы ее победить.

упс! есть несколько неувязочек. для начала я не школьник, но свои школьники уже растут, значит тебя зрение подвело. рассуждения про мой интеллект так же далеки от идеала.

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

Выше уже намекнули, что эта уйма конструкций решает не ту задачу, что код на педоне, от которого и начали плясать.

есть такой момент, что я, например, принципиально не знаю питон, поэтому не знаю что делает та конструкция. какую задачу она решает?

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

Ещё какие-нибудь будут теории относительно божественности Перла и низменности всех, кто не разделяет любовь к нему?

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

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

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

Почему perl6 начали делать на каком-то хаскеле, а не на гибком, удобном и быстром перле?

Perl6 STD.pm (reference implementation) бутстрапится с помощью perl5: http://perl6.org/compilers/

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

Я не так давно закончил очередной подход к разгребанию легаси-кода на Перле,

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

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

Почему perl6 начали делать на каком-то хаскеле, а не на гибком, удобном и быстром перле?

Кто-то начал хаскеле, кто-то - на perl5, всякое было. Ты бы спросил тех кто начал почему они начали реализацию на том или ином языке. Вот на cpp откопался пример: https://github.com/goccy/gperl/ , не нашел с ходу, но где-то видел на perl5 реализацию. Есть даже начинание perl11 (perl5+perl6): http://perl11.org/

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

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

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

очень авторитетного анонимуса, который путает кто кому пишет.

ниче не путаю, не выдумывай

я извиняюсь, но ты первый переходишь на свою личность.

и что? я противопоставляю себя против Mystra_x64 чтобы показать что Mystra_x64 пишет чушь. Мое прошлое сообщение раскрывает суть того почему делается переход на личность. Ты точно понял к чему и о чем оно было написано?

звучит как «я и эйфелева башня».

Это твои проблемы восприятия, я же просто перечислял обе противостоящие стороны. Можешь поменять нумерацию на любую - тут это не играет никакую роль. Тебе показалось что моя логическая выкладка в прошлом сообщении основанаа на том что я под №1 в перечислении поставил себя? - Если это так, то у меня для тебя плохие новости..

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

теперь вроде бы понятно что в своем сообщении (PragmaticPerl) Выпуск 28 (комментарий) ты не поддерживаешь Mystra_x64

не могу сказать за все языки. лично я считаю перл очень лаконичным и свободным, меня устраивает. так... мы о чём-то тут спорить собрались?

да я тоже как не говорю за все языки, а лишь за те которые знаю что они топорные

слишком много внимания этой ничтожной личности. я бы не стал даже рассматривать.

он лишь очередной кукаретик - ниче особенного и использую я его в качестве очередной «лабораторной крысы» чтобы показать читателям форума что..неучи часто глупы в своих суждениях и оценках и Perl тут не виноват (это если кратко)

ого. я что то надеялся ты себя выше ценишь...

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

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

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

упс! есть несколько неувязочек. для начала я не школьник, но свои школьники уже растут, значит тебя зрение подвело. рассуждения про мой интеллект так же далеки от идеала.

с учетом того что сейчас выяснилось что в (PragmaticPerl) Выпуск 28 (комментарий) ты не поддерживаешь Mystra_x64, а наоборот отвечаешь ему претензией за отсутствие аргументов, то - да, я ошибся. Признаю свою ошибку, прошу прощения. Но с другой стороны, твое сообщение тоже не является однозначным особенно на фоне того что я до твоего ответа резко напал на кукаретика Mystra_x64.

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

лан, пофиг. жевачку будешь?

не, спасибо. Хватит на сегодня Интернетов.

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

Братан, ты на Обероне пишешь?! Давай раскатаем этих клоунов сейчас по стенкам. Неси ссылки на Вирта, я сейчас Дейкстру найду. Уух, получат супостаты мэйнстримовые!

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

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

То легаси не я писал и там жесть. Я там видел вызовы grep. Но переписать это было необходимо минимум по двум причинам:

1. Меньше кода. 2. Проще найти того, кто будет это тянуть после меня.

Второй пункт был правдой для Перла 10 лет назад. Но сейчас уже 2015, да и я не вечен.

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

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

Отличная аналогия, мне нравится. Верблюд во времена полётов в космос. Он бредёт через пустыню в закат, не отвлекаясь на шум. Последний караван уходит в небо. Он не вернётся. Помянем.

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

1. Меньше кода.

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

2. Проще найти того, кто будет это тянуть после меня.

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

я больше склоняюсь к истинному мотиватору — пяткочасанию.

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

return @xs if @xs and grep $x, @xs;

Дано: $xs — arrayref. Здесь работа с array.

Это ($xs — arrayref) В питоне есть аналоги?

В питоне не нужно различать массив и ссылку на него.

Вот еще интересный кусочек:


m = {
    str: str.strip,
    float: round,
    int: lambda v: v*2,
    dict: list,
    list: str,
}
def f(xs):
    return [m[type(x)](x) for x in xs if x]    
amix ★★★
()
Ответ на: комментарий от amix

$xs — arrayref. Здесь работа с array.

а зачем тебе в перл arrayref вместо array, когда в питоне array?

Вот еще интересный кусочек:

хня полурабочая, хоть проверяй перед отправкой.

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

Ты хоть согласен, что прогресс в Perl 5 стагнирует уже много лет?

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

shell-script ★★★★★
()

Предыдущий был получше.

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

Предлагаете костыли в рантайме? А откуда библиотечная функция знает конктест вызова?

Похоже вы о чем то своем (женском?).

Вы спросили:

Что должен сделать компилятор?

я ответил

Сгенерировать код который сделает stringify в рантайме.

Это то что ожидается по заявленному из perdoc: компилятор должен сгенерировать код который вычислит выражение и сделает stringify для полученного значения.

Нужна кастомизация stringify? - man overload. В перегруженной stringify-функции разбирайтесь с контекстом вызова, perldoc -f wantarray, perldoc -f caller и man DB вам в помощь.

RTFM

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

думаешь кому интересно копаться в куче замшелого?

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

хня полурабочая, хоть проверяй перед отправкой.

Сам-то не пробовал? Или не осилил разобраться, что оно делает?

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

делает. вводит декларативщину там, где в перле лапша из if-elsif-elsif... или несусветная магия.

Так ты не пиши быдлокод и лапшу, пиши как нормальные люди.

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

делает

что?

вводит декларативщину

абракадабра. конкретно, что?

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

делает. вводит декларативщину там, где в перле лапша из if-elsif-elsif... или несусветная магия.

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

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