Articles of lambda

c ++ 0x: manière correcte de recevoir un lambda en paramètre par référence

Quelle est la bonne façon de définir une fonction qui reçoit un paramètre int->int lambda par référence? void f(std::function& lambda); ou void f(auto& lambda); Je ne suis pas sûr que la dernière forme soit même la syntaxe légale. Existe-t-il d’autres moyens de définir un paramètre lambda?

Lambda cette référence en java

Je veux convertir une anonymous class en une lambda expression . Mais cette classe anonyme j’utilise le mot this clé this . Par exemple, j’ai écrit ce simple modèle Observer/Observable : import java.util.ArrayList; import java.util.Collection; public static class Observable { private final Collection notifiables = new ArrayList(); public Observable() { } public void addObserver(Observer notifiable) […]

Comment convertir un lambda en une fonction std :: en utilisant des modèles

Fondamentalement, ce que je veux pouvoir faire, c’est prendre un lambda avec n’importe quel nombre de parameters et le convertir en une fonction std ::. J’ai essayé ce qui suit et aucune méthode ne fonctionne. std::function([](){});//Complains that std::function is missing template parameters template void foo(function f){} foo([](){});//Complains that it cannot find a matching candidate Le […]

Find () et First () émettent des exceptions, comment retourner null à la place?

Existe-t-il une méthode de recherche linq lambda qui renvoie null, au lieu de générer une exception, lors d’une recherche dans une liste? Ma solution actuelle est quelque chose comme: (pour éviter que des exceptions soient lancées) if (list.Exists(x => x.Foo == Foo)) { var listItem = list.Find(x => x.Foo == Foo); } Il se sent […]

Collectors.toMap () keyMapper – expression plus succincte?

J’essaie de trouver une expression plus succincte pour le paramètre de fonction “keyMapper” dans l’appel Collectors.toMap() : List roster = …; Map map = roster .stream() .collect( Collectors.toMap( new Function() { public Ssortingng apply(Person p) { return p.getLast(); } }, Function.identity())); Il semble que je devrais pouvoir l’inclure en utilisant une expression lambda, mais je […]

Retour de lambda pourEach () en Java

J’essaie de changer des boucles for-each en forEach() lambda forEach() pour découvrir les possibilités des expressions lambda. Le suivant semble être possible: ArrayList playersOfTeam = new ArrayList(); for (Player player : players) { if (player.getTeam().equals(teamName)) { playersOfTeam.add(player); } } Avec lambda pour forEach() players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}}); Mais le suivant ne fonctionne pas: for (Player player […]

Fenêtre Immédiat Visual Studio – Les expressions Lambda ne sont pas autorisées – Existe-t-il un remède ou une alternative?

Je débogue du code basé sur la liste générique dans VS 2010 – beaucoup de traitement de la hiérarchie, etc. Bien sûr, les expressions lambda et les méthodes anonymes ne sont pas autorisées dans la fenêtre immédiate de la manière habituelle, car j’essaie toujours de comprendre les hiérarchies … Quelqu’un peut-il suggérer une solution de […]

Comment convertir une expression <Func > en une expression <Func >

J’ai cherché mais je ne trouve pas comment lancer du type Expression<Func> au type: Expression<Func> Je dois donc me tourner à nouveau vers les vastes connaissances;)

Type de retour explicite de Lambda

Lorsque j’essaie de comstackr ce code (VS2010), j’obtiens l’erreur suivante: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { ssortingng::const_iterator start, end; boost::regex expression(“^\\s?#”); boost::match_results what; boost::match_flag_type flags = boost::match_default; // Look for lines that either start with a hash (#) // or […]

LINQ: notation de points vs expression de requêtes

Je commence à utiliser LINQ en général (jusqu’à présent, XML et toSQL). J’ai vu que parfois il y a deux ou plusieurs façons d’obtenir les mêmes résultats. Prenons cet exemple simple, autant que je sache, ils renvoient exactement la même chose: SomeDataContext dc = new SomeDataContext(); var queue = from q in dc.SomeTable where q.SomeDate […]