Posterous theme by Cory Watilo

Filed under: rostovondon.pm

Perl. Пересекаются ли два массива?

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


На Perl это делается так:

use common::sense;
 
my @a = qw(q w e r t y);
my @b = qw(u i o p q);
 
say 1 if grep { defined } @{{ map { $_ => 1 } @a }}{ @b };

Исходник

Задача решена с помощью анонимного хеша, который строится на лету, и с помощью срезов.
Очень просто, элегантно, без лишних переменных и в одно условие, код написан именно так, как звучит задача. Даа, это красиво :)


UPD: Спасибо [info]what_me за решение на perl 5.10:

use common::sense;
 
my @a = qw(q w e r t y);
my @b = qw(u i o p q);

say @a ~~ {map { $_ => 1 } @b};


ЗЫ: Диалог с сишником++:

– Я не понимаю, зачем нужно учить Perl?
– Давай, я покажу п*здатый код, а ты сам решай. Простая задача – пересекаются ли два списка, ответ да или нет.
(Пошла ржака)
– А массивы одинаковой длины?
(бугага)
– Массивы строк или чисел?
(бугага)
– Вот код (показываю этот код)
– Даа, круто! Что такое map, grep, qw?
(бугага) Смотри задача решена без единой лишней переменной и с помощью анонимного хеша
– Это как лямбда-функция?
(бугага)
– В си тоже есть hashmap
– (бугага) Учи Perl! :)


UPD ЗЫ: Другой сишник мне написал: "и все-таки оно будет работать медленнее чем 2 цикла" (бугага) x 100500


ЗЫЗЫ: RostovOnDon.pm offline #3 permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.rostovondon/343

use Perl or die;

JFDI
Original post http://sharifulin.livejournal.com/53746.html

RostovOnDon.pm – оффлайн встреча #3 Будет! :)

Оффлайн встреча Perl-сообщества RostovOnDon.pm #3 пройдет 6 декабря 2009 года (воскресенье) на факультете математики, механики и компьютерных наук ЮФУ (мехмат), расположенного по адресу ул. Мильчакова 8а (точнее, еще точнее).

Все любители, ценители, интересующиеся, ненавистники Perl, а также похапашники приглашаются на встречу.
Будет несколько технических докладов, касаемых Perl, их обсуждение, живое общение и конечно же социальная часть в "Ташире" :-)

http://rostovondon.pm.org/#news


UPD:
permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.rostovondon/343


use Perl or die;

JFDI
Original post http://sharifulin.livejournal.com/53257.html

RostovOnDon.pm. Статистика. Что делать?

Посмотрел сегодня статистику переходов на RostovOnDon.pm.

По странам:

  1. Россия (100)
  2. США (6)
  3. Украина (6)
  4. Великобритания (1)
  5. Германия (1)

По городам России:
  1. Москва (62)
  2. Ростов-на-Дону (23)
  3. Питер (3)
  4. Уфа (3)
  5. Улан-Удэ, Киров, Екатеринбург, Новосибирск, Самара, Лобня, Владивосток (1)
  6. и 2 неизвестно откуда :)
В рассылке 18 подписчиков из них точно 6 не из Ростова, т.е. из 23 посетителей из Ростова-на-Дону почти половина не вступила в pm. Странно, может чего-то боятся :) Или Perl не настолько социален для них.

Более того я написал письмо ростовским компаниям явно использующие Perl в своей жизнедеятельности: AAA, Форсайт и Информа. Мне ответил только ведущий программист из Форсайта, но до сих пор в подписчиках его нет :(

Что делать? Осенью Perl-воркшоп в Ростове хочется провести :)


Original post http://sharifulin.livejournal.com/29156.html

RostovOnDon.pm - локальное Perl-сообщество Ростова-на-Дону

Начало свою работу локальное Perl-сообщество г.Ростова-на-Дону - RostovOnDon.pm. Если ты программируешь на Perl и/или тебе интересен Perl и/или тебе интересно сообщество Perl, то вступай в RostovOnDon.pm.

 

В России с октября 2007 по сегодняшний день начали активно развиваться Perl и Perl-сообщество в России.

Организованы следующие pm-группы:

  • Moscow.pm
  • Vladivostok.pm
  • Kazan.pm
  • Kiev.pm
  • RostovOnDon.pm
  • Minsk.pm

Были проведены следующие мероприятия:
  • Perl Today 2007 - первый воркшоп в России по Perl
  • Perl Mova 2008 - первый воркшоп на Украине
  • YAPC::Russia "May Perl" 2008 - первая конференция YAPC в России

Планируется:
  • Fast Est Perl 2008 - воркшоп во Владивостоке
  • BY Perl 2008 - белорусский воркшоп
Подробнее здесь.

Первоочередные цели и задачи:

  • social meeting: online + offline
  • провести первый воркшоп в Ростове-на-Дону
  • развитие Perl5 и Perl6 в России.
Архив рассылки здесь.

Поэтому призываю всех Perl-любителей г.Ростова-на-Дону и его окрестностей вступить в RostovOnDon.pm (пора выходить из подполья :)


Original post http://sharifulin.livejournal.com/27773.html