람다 식을 사용하는 방법을 알아 내려고 노력 중이며 foldl 또는 foldr과 같은 함수에서 일반적으로 사용되는 것을 보았습니다.
다음 코드가 작동하지 않는 이유가 궁금합니다.
ExMin = foldr (\x y -> x < y) 5 [1,2,3,4]
이 함수가 목록의 최소 수를 제공하기를 원하지만 오류가 발생합니다. x <y가 부울을 반환하고 여기서 기대하는 것은 정수이기 때문에 오류가 발생하는 이유라고 생각합니다.
번호를 올바르게 반환하는 방법에 대한 아이디어가 있습니까?
다음 코드가 작동하지 않는 이유가 궁금합니다.
ExMin = foldr (\x y -> x < y) 5 [1,2,3,4]
foldr 함수 타입 접힘 기능이 필요하기 때문에 은 "축적", 오른쪽에서 왼쪽으로 전달되고 각 시간 스크롤 기능과 다른 구성 요소에 대한 입력으로 촬영되는 값의 종류이다. 결국 누산기의 최종 값을 반환합니다.a -> b -> b
b
foldr
번호를 올바르게 반환하는 방법에 대한 아이디어가 있습니까?
예, min :: Ord a => a -> a -> a
기능을 사용할 수 있습니다 . 이것은 누산기 및 요소의 최소값을 매번 반환합니다.
ExMin = foldr min 5 [1,2,3,4]
으로 @amalloy 말한다 당신이 시작 변수를 사용할 수 없습니다 U의 ppercase을,이 소문자해야합니다 :
exMin = foldr min 5 [1,2,3,4]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다