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?
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) […]
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 […]
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 […]
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 […]
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 […]
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 […]
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;)
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 […]
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 […]