@result_list = grep {test ($ _)} @unfiltered_list на других языках? - PullRequest
1 голос
/ 16 ноября 2010

Одна из функций, которые мне нравятся в Perl, - это вдохновленная LISP (?) Способность фильтровать контент из списка вещей с простым синтаксисом

@result_list = grep { test($_) } @unfiltered_list;

, где тестовая функция будет применяться ко всемэлементы @unfiltered_list для создания @ result_list.

Это функция, которая существует и в других языках?(PHP? Python?) В противном случае, как я мог бы легко намекнуть не-Perlers (студентам) о том, что я имею в виду под таким кодом?

РЕШЕНИЕ: filter в большинстве языков, , как видно из википедии .Спасибо за совет, парни.

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

В питоне есть функция filter :

result_list = filter(test,unfiltered_list)
1 голос
/ 16 ноября 2010

В C ++ 0x вы можете сделать это, используя std::copy_if с back_inserter итератором. Лямбда-функции делают это еще проще.

...