1
Xtend 자습서와 Movies 예제를 따랐습니다. 이 튜토리얼의 끝에서, 당신은이 질문을 찾을 수 있습니다Xtend "Movies example"우수 답변
는 영화가 등급으로 분류되어 먼저@Test def void sumOfVotesOfTop2() {
val long sum = movies.sortBy[ -rating ].take(2).map[ numberOfVotes ].reduce[ a, b | a + b ]
assertEquals(47_229L, sum)
}
, 우리는 최선이 걸릴. 다음으로 영화 목록은 map 함수를 사용하여 numberOfVotes 목록으로 바뀝니다. 이제 값을 추가하여 하나의 Long으로 줄일 수있는 List가 생겼습니다.
맵 대신 줄이기를 사용하고을 줄일 수도 있습니다. 어떻게 아십니까?
내 질문은 다음과 같습니다. 마지막 질문에 대한 최선의 답변은 무엇입니까?
지도() 확장 메소드를 사용하지 않고 동일한 "합계"값을 계산하는 방법을 찾았지만 저에게는 지겹게 보입니다. 여기 내 해결책은 다음과 같습니다.
assertEquals(47229, this.movies.sortBy[ -rating ].take(2).reduce[m1, m2 | new Movie('', 0, 0.0, m1.numberOfVotes + m2.numberOfVotes,null)].numberOfVotes)
더 나은 (더 명확한) 방법이 있습니까?
나는 동의하지만 튜토리얼의 Xtend, 질문 3은'map [numberOfVotes] .reduce [a, b | a + b]'간단한 'reduce'호출에 의해, 이것은 내가 이해하지 못하는 것입니다. 정말 좋은 방법이있을 수 있습니까? – Antwane