perl vs Python: оператор in
От: slava_phirsov Россия  
Дата: 07.06.10 12:38
Оценка:
Доброго времени суток всем читающим!

В Python я могу написать следующий код:

codes = (0, 1, 201);
if foo in codes:
  bar(foo)


А можно ли реализовать подобное в Perl?

P.S.

my @codes = (0, 1, 201);
for (@codes)
{
  if ($_ == foo)
  {
    bar(foo);
    last;
  }
}


не предлагать
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re: perl vs Python: оператор in
От: Senyai Россия http://www.arseniy.net
Дата: 07.06.10 12:46
Оценка:
Здравствуйте, slava_phirsov, Вы писали:

_>Доброго времени суток всем читающим!


_>В Python я могу написать следующий код:


_>
_>codes = (0, 1, 201);
_>if foo in codes:
_>  bar(foo)
_>


_>А можно ли реализовать подобное в Perl?


_>P.S.


_>
_>my @codes = (0, 1, 201);
_>for (@codes)
_>{
_>  if ($_ == foo)
_>  {
_>    bar(foo);
_>    last;
_>  }
_>}
_>


_>не предлагать



@myNames = ('Larry', 'Curly', 'Moe');
foreach $name (@myNames) {
    print $name;
}
Не бойтесь совершенства. Вам его не достичь. © Сальвадор Дали
Re: perl vs Python: оператор in
От: _nn_ www.nemerleweb.com
Дата: 07.06.10 12:48
Оценка: 1 (1) +1
Здравствуйте, slava_phirsov, Вы писали:

grep
@p = (1,2,3);
if(grep { $_ == 2 } @p)
{
  printf "Found 2\n";
}
else
{
 printf "Not Found 2\n";
}


google.com
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: perl vs Python: оператор in
От: anonymous Россия http://denis.ibaev.name/
Дата: 07.06.10 12:59
Оценка:
Здравствуйте, slava_phirsov, Вы писали:

_>В Python я могу написать следующий код:

_>
_>codes = (0, 1, 201);
_>if foo in codes:
_>  bar(foo)
_>

_>А можно ли реализовать подобное в Perl?

Начиная с версии 5.10:
my @codes = (0, 1, 201);
if ($foo ~~ @codes)
{
    bar($foo);
}

Для ранних версий придётся использовать функцию grep().
perl smart matching
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.