2009-03-31 7 views
27

Что такое Linq, эквивалентный методу map! or collect! в Ruby?Linq Карта! или собирать!

a = [ "a", "b", "c", "d" ] 
    a.collect! {|x| x + "!" } 
    a    #=> [ "a!", "b!", "c!", "d!" ] 

Я мог сделать это итерация коллекции с Еогеасп, но мне было интересно, если есть более элегантное решение Linq.

+0

Linq принимает функциональный подход, так что вы, как правило, не будете делать в-место модификация, как в вашем примере выше. Однако это больше соответствует ожидаемому использованию карты и собирает в рубине (без!) – 2011-09-27 16:23:39

ответ

38

Карта = Выбрать

var x = new string[] { "a", "b", "c", "d"}.Select(s => s+"!"); 
24

Функция высшего порядка map лучше всего представлены в Enumerable.Select, который является метод расширения в System.Linq.

В случае, если вы хотите знать, что другие функции высшего порядка вспыхнуть, как это:

reduce ->Enumerable.Aggregate
filter ->Enumerable.Where

 Смежные вопросы

  • Нет связанных вопросов^_^