Нет никакого расширения ForEach для IEnumerable
; только для List<T>
. Таким образом, Вы могли сделать
items.ToList().ForEach(i => i.DoStuff());
, С другой стороны, пишут Ваш собственный метод расширения ForEach:
public static void ForEach<T>(this IEnumerable<T> enumeration, Action<T> action)
{
foreach(T item in enumeration)
{
action(item);
}
}
Какие у вас проблемы? Ключевым моментом является наличие отдельных рабочих пространств для каждого проекта. Затем выберите интерпретатор python для этого рабочего пространства на тот, который создан для virtualenv. Тогда вы должны быть настроены.
Оператор $
предназначен для исключения скобок. Все, что появляется после него, будет иметь приоритет над всем, что предшествует.
Например, допустим, у вас есть строка, которая гласит:
putStrLn (show (1 + 1))
Если вы хотите избавиться от этих скобок, любая из следующих строк также будет сделайте то же самое:
putStrLn (show $ 1 + 1)
putStrLn $ show (1 + 1)
putStrLn $ show $ 1 + 1
Основная цель .
Оператор заключается не в том, чтобы избегать скобок, а в цепочке функций. Он позволяет связать вывод того, что появляется справа, со вводом того, что появляется слева. Обычно это также приводит к меньшему количеству скобок, но работает по-другому.
Возвращаясь к тому же примеру:
putStrLn (show (1 + 1))
(1 + 1)
не имеет ввода, и поэтому не может использоваться с .
оператор. show
может принимать Int
и возвращать String
. Я не согласен с необходимостью проходить через все хлопоты по созданию и поддержке отдельного рабочего пространства для каждой виртуальной среды.
Все, что вам нужно сделать, это установить отдельный интерпретатор для каждой виртуальной среды и убедиться, что проект использует его.
Наряду со стандартными интерпретаторами, такими как Python 2.5, Python 2.6, Python 3. 1 вы также добавите еще несколько по строкам My Django Website, My Cool Project, My Other Cool Project- где каждый интерпретатор будет иметь все записи PYTHONPATH
, которые предоставляет его virtualenv.
Не уверен насчет Galileo, так как я обновился до Helios.
Проект->PyDev — Интерпретатор/Грамматика -> Интерпретатор легко настроить на основе разных проектов. При настройке интерпретатора так, чтобы он указывал на интерпретатор python virtualenv, Pydev не наследует автоматически системный путь python, поэтому пользователь обязан выбрать соответствующий PYTHONPATH. Но вы всегда можете вернуться к редактированию в Preferences->Pydev->Interperter - Python -> вкладка Libraries.