Re: LINQ как шаг к функциональному программированию
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 13.01.09 11:26
Оценка:
Здравствуйте, Чистяков Влад (VladD2)

Идентификатор seed при вызове func -- это ошибка или что-то другое?
public static TAccumulate AggregateRight<TSource, TAccumulate>(
  this IEnumerable<TSource> source, 
  TAccumulate acc, 
  Func<TAccumulate, TSource, TAccumulate> func)
{
  if (source == null)
    throw New ArgumentNullException("source");
  if (func == null)
    throw New ArgumentNullException("func");

  foreach (TSource item in source.Reverse())
    acc = func(seed, item);

  return acc;
}


PS. Из статьи можно было бы смело выкинуть, как минимум, 1/3 текста при сохранении той же информативности.
PPS. По ходу чтения сильно напрягает стиль изложения "от первого лица" с наездами на "императивных программистов".
PPPS. Надеюсь, что 90% императивных программистов все-таки пишут так:
for (int i = 0; i < array1.Length; i++)
{
  if (i != 0)
    result += ", ";

  result += array1[i];
}


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.