Erlang Newbie ici. Supposons que j'ai deux listes qui sont comme ça.Erlang - Articles communs à partir de deux listes
L1= [{'Lady in the Water',2.5},
{'Snakes on a Plane',3.5},
{'Just My Luck',3.0},
{'Superman Returns',3.5},
{'You, Me and Dupree',2.5},
{'The Night Listener',3.0}]
et
L2 = [{'Lady in the Water',3.0},
{'Snakes on a Plane',3.5},
{'Just My Luck',1.5},
{'Superman Returns',5.0},
{'You, Me and Dupree',3.5}]
Je veux les notes communes dans une liste de tuple comme
[{2.5,3.0},{3.5,3.5},{3.0,1.5},{3.5,5.0},{2.5,3.5}]
Mon code est comme ce
common_rating(R1,R2)->common_rating(R1,R2,0,0).
common_rating(_X,[],M,N) ->{M,N};
common_rating(X,[Y|Y1],A,B)->
{M,R}=X,
{N,K }= Y,
case M=/=N of
true -> common_rating(X,Y1,A,B);
false -> common_rating(X,[],A+R,B+K)
end.
common_rating_final([],_R2,J) ->J;
common_rating_final([X|X1],R2,J)->
common_rating_final(X1,R2,J++[common_rating(X,R2)]).
Pour mieux comprendre le code fonction common_rating
attend un tuple de {movie,rating}
et trouve le même film et note d'une autre liste (B) et retourne {rating,rating_B}
Maintenant common_rating_final
va récursive sur une liste, permet de dire A et utilise common_rating pour trouver {rating_A, rating_B} pour tous les films qui sont communs dans A et B à la fois
mais quand je lance mon code
my_module:common_rating_final(L1,L2,[]).
il me retourne
[{2.5,3.0},{3.5,3.5},{3.0,1.5},{3.5,5.0},{2.5,3.5},{0,0}]
Je peux filtrer la partie {0,0} mais je pense que ma logique est défectueuse mais je n'ai pas pu écrire un code qui renvoie uniquement les cotes communes sans la partie {0,0}. Veuillez nous aider.
Très bien J'essayais de comprendre la liste mais je n'arrivais pas à trouver de multiples listes. Merci . – Bg1850
Une chose que je devrais obtenir, j'ai essayé votre solution avec X == Y et cela a fonctionné. Quelle est la différence . – Bg1850
Veuillez vérifier [documentation] (http://erlang.org/doc/reference_manual/expressions.html#id81316) ou [stackoverflow] (https://stackoverflow.com/questions/9790815/what-is-the-difference- entre-et-dans-erlang-quand-utilisé-avec-termes-dans-gène) – mpm