J’ai essayé plusieurs fois de saisir le concept de continuations et d’ appeler / cc . Chaque tentative était un échec. Quelqu’un peut-il s’il vous plaît m’expliquer ces concepts, idéalement avec des exemples plus réalistes que ceux sur Wikipedia ou dans d’autres publications SO. J’ai de l’expérience en programmation Web et en POO. Je comprends […]
J’ai eu récemment deux entretiens téléphoniques. Dans les deux interviews, on m’a demandé comme dernière question de définir une expression Lambda. J’ai affirmé que l’expression Lambda est une méthode sans nom à la place d’un délégué. Mais ça ne suffisait pas. Je trouve très difficile d’expliquer cela précisément lors d’un entretien téléphonique. Est-ce que quelqu’un […]
Je cherche un moyen de changer le code suivant: foreach (Contact _contact in contacts) { _contact.ID = 0; _contact.GroupID = 0; _contact.CompanyID = 0; } Je voudrais changer cela en utilisant LINQ / lambda dans quelque chose de similaire à: contacts.ForEach(c => c.ID = 0; c.GroupID = 0; c.CompanyID = 0); Cependant, cela ne fonctionne […]
Je devais avoir une expression lambda de l’interface fonctionnelle Runnable qui ne faisait rien. J’ai eu une méthode private void doNothing(){ //Do nothing } puis utilisez this::doNothing . Mais j’ai trouvé un moyen encore plus court de le faire.
J’ai une liste (où T est une classe personnalisée et la classe a certaines propriétés). Je voudrais savoir comment modifier une ou plusieurs valeurs en utilisant des expressions Lambda, le résultat sera donc le même que celui de la boucle foreach: REMARQUE: la liste contient plusieurs éléments à l’intérieur (plusieurs lignes) foreach (MyClass mc in […]
Donné: FieldInfo field = ; ParameterExpression targetExp = Expression.Parameter(typeof(T), “target”); ParameterExpression valueExp = Expression.Parameter(typeof(ssortingng), “value”); Comment comstackr une expression lambda pour définir le champ du paramètre “target” sur “value”?
#include #include void foo( int ) { } int main() { std::vector v( { 1,2,3 } ); std::for_each( v.begin(), v.end(), []( auto it ) { foo( it+5 ); } ); } Lorsque compilé, l’exemple ci-dessus démarre la sortie d’erreur comme suit: h4.cpp: In function ‘int main()’: h4.cpp:13:47: error: parameter declared ‘auto’ h4.cpp: In lambda function: […]
Il suffit de jouer avec les nouvelles fonctionnalités lambda et fonctionnelles de Java 8 et je ne sais pas trop comment faire. Par exemple, ce qui suit est valide: Map map = new HashMap(); map.put(“A”, 1); map.put(“B”, 2); map.put(“C”, 3); map.compute(“A”, (k, v) -> v == null ? 42 : v + 41)); mais ce […]
J’utilise les stream Java 8 pour parcourir une liste de sous-listes. La taille de la liste externe varie entre 100 et 1000 (tests différents) et la taille de la liste interne est toujours 5. Il existe 2 tests de performances qui montrent des écarts de performance inattendus. package benchmark; import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.infra.Blackhole; import java.io.IOException; […]
J’ai rencontré un problème en utilisant une référence de méthode, mais pas avec lambdas. Ce code était le suivant: (Comparator & Serializable) SOME_COMPARATOR::compare ou, avec lambda, (Comparator & Serializable) (a,b) -> SOME_COMPARATOR.compare(a,b) Sémantiquement, c’est ssortingctement la même chose, mais en pratique, c’est différent car dans le premier cas, je reçois une exception dans l’une des […]