Результаты поиска
Когда использовать lambda, когда использовать Proc.new?
В Ruby 1.8 есть тонкие различия между proc/lambda, с одной стороны, и Proc.new , с другой.
- В чем же заключаются эти различия?
- Можете ли вы дать рекомендации о том, как решить, какой из них выбрать?
- В Ruby 1.9 proc и lambda отличаются друг от друга. В чем же дело?
Когда использовать метод расширения с lambda над LINQtoObjects для фильтрации коллекции?
Я прототипирую некоторые фильтры коллекции C# 3 и наткнулся на это. У меня есть коллекция продуктов:
public class MyProduct
{
public string Name { get; set; }
public Double Price { get; set; }
public string Description { get; set; }
}
var MyProducts = new List<MyProduct>
{
new MyProduct
{
Name = "Surfboard",
Price = 144.99,
Description = "Most important thing you will ever own."
},
new MyProduct
{
Name = "Leash",
Price = 29.28,
Description = "Keep important things close to you."
}
,
new MyProduct
{
Name = "Sun Screen",
Price = 15.88,
Description = "1000 SPF! Who Could ask for more?"
}
};
Теперь, если я использую LINQ для фильтрации, он работает, как и ожидалось:
var d = (from mp in MyProducts
where mp.Price < 50d
select mp);
И если я использую метод расширения Where в сочетании с Lambda, фильтр также работает:
var f = MyProducts.Where(mp => mp.Price < 50d).ToList();
Вопрос: в чем разница, и зачем использовать одно над другим?
Может ли использование лямбд в качестве обработчиков событий вызвать утечку памяти?
Скажем, у нас есть следующий метод:
private MyObject foo = new MyObject();
// and later in the class
public void PotentialMemoryLeaker(){
int firedCount = 0;
foo.AnEvent += (o,e) => { firedCount++;Console.Write(firedCount);};
foo.MethodThatFiresAnEvent();
}
Если класс с этим методом создается экземпляр и метод PotentialMemoryLeaker вызывается несколько раз, происходит ли утечка памяти?
Есть ли какой-нибудь способ отцепить этот обработчик событий lambda после того, как мы закончим вызывать MethodThatFiresAnEvent ?
Что такое lambda (функция)?
Что такое lambda в мире компьютерных наук для человека, не имеющего опыта работы в области компьютерных наук?
476   2   06:46, 29th August, 2020
Как мне маршалировать a lambda (Proc) в Ruby?
Джо Ван Дайк спросил список рассылки Ruby :
Привет,
В Ruby, я полагаю, вы не можете маршалировать объект lambda/proc, верно? Является это возможно в lisp или других языках?
То, что я пытался сделать:
l = lamda { ... }
Bj.submit "/path/to/ruby/program", :stdin => Marshal.dump(l)
Итак, я посылаю BackgroundJob a lambda объект, который содержит контекст/код для того, что нужно сделать. Но, наверное, это было невозможно. Я в итоге был выполнен маршалинг обычного объекта ruby, содержащего инструкции для того, что делать после запуска программы.
Джо
Что такое appliance и как использовать выражения lambda?
Я читал, что выражения Lambda являются невероятно мощным дополнением к C#,, но я нахожу себя озадаченным ими. Как они могут улучшить мою жизнь или сделать мой код лучше? Может ли кто-нибудь указать на хороший ресурс для изучения таких выражений?
Они кажутся чертовски крутыми, но как они связаны с моей жизнью day-to-day в качестве разработчика asp.net?
Edit: Спасибо за примеры и спасибо за ссылку на статьи Эрика Уайта. Я все еще перевариваю их сейчас. Один быстрый вопрос: Являются ли выражения lambda полезными для чего-либо, кроме запроса? Каждый пример, который я видел, был конструкцией запроса.
Получение всех типов, реализующих интерфейс
Используя отражение, как я могу получить все типы, которые реализуют интерфейс с C# 3.0/.NET 3.5 с наименьшим количеством кода и минимизацией итераций?
Вот что я хочу переписать:
foreach (Type t in this.GetType().Assembly.GetTypes())
if (t is IMyInterface)
; //do stuff
Самый крутой C# LINQ/лямбда-трюк, который вы когда-либо вытягивали?
Видел пост о скрытых функциях в C#, но не многие люди написали linq / lambdas пример так... Я удивляюсь...
Каково самое крутое (как и самое элегантное) использование C# LINQ и/или лямбды / анонимных делегатов, которые у вас когда-либо были saw/written?
Бонус, если он тоже пошел в производство!