문장에서 특정 단어를 셀 수있는 몇 가지 함수를 작성하기 시작했지만 지금은 목록의 단어 길이를 계산해야합니다. 그래서 각 요소가 하나의 단어이고이 단어의 문자를 세고 싶은 목록이 있습니다. 하스켈은 루프를 사용하지 않기 때문에 어떤 해결책을 찾지 못했습니다. 이 작업을 수행 할 여지가 있습니까?하스켈에서 단어의 길이를 가져 오는 것
답변
하스켈에서 작업 할 때 루프가 필요하다고 생각되면 아마도 재귀를 고려하고있을 것입니다. 문자열 목록을 통해 반복하여 각각에 length
함수를 적용하려고합니다. 함수가 (당신이 하스켈을 통해 작업 할 때 매우 익숙해지는 것) 각각의 값에 적용되는 목록을 재귀의 일반적인 패턴은 다음과 같이 대략 같습니다
func f [] = []
func f (x:xs) = f x : func f xs
그래서 우리는 문제를 해결할 수있는 방법 (기능을 전문으로하기보다는 인수로 받아들이는) :이 동작은 아주 일반적이기 때문에
wordLengths :: [String] -> [Int]
wordLengths [] = []
wordLengths (x:xs) = length x : wordLengths xs
그러나, 우리를 위해이 모든을 담당하는 기능 map
이 존재한다. 형식 서명은 (a -> b) -> [a] -> [b]
이므로 함수 (length
)와 목록 (String
)을 전달해야합니다. 우리는 문자열 목록에 각 값에 length
기능을 map
경우에, 우리는 원하는 결과를 얻을 수 있습니다 :
wordLengths :: [String] -> [Int]
wordLengths = map length
사용 예제 :
ghci>> wordLengths ["abc","defg"]
[3,4]
처음에는 아주 좋은 설명에 감사드립니다! 그러나 그것을 사용하려고 할 때, 나는 단지'변수가 아닙니다 : wordLengths :: [String] -> [Int]' –
변수를'ghci'에 직접 입력하려고한다고 가정합니다. 포함 된 함수 정의는 Haskell 소스 파일을 사용하기위한 것입니다. 확장자가'.hs' 인 파일에 붙여 넣은 다음 터미널에'ghci fileName.hs '를 통해로드 할 수 있습니다. – mnoronha
나는 그것이 내가 한 것이라고 생각한다. 나는 * .hs 파일을 썼다. 그래서 나는 Haskell 자체의 일부 소스 파일을 "수정"해야만합니까? 전체 HA.hs 파일을 추가했습니다. –
- 1. StringTemplate에서 String 값의 길이를 가져 오는 것
- 2. R : ddply 내의 서브 세트의 길이를 가져 오는 것
- 3. 하스켈에서 .hs 파일을 가져 오는 방법
- 4. C의 각 단어의 길이를 계산합니다
- 5. 하스켈에서 단어의 개별 문자열을 검사하려면 어떻게해야합니까?
- 6. 트위터에서 트윗을 가져 오는 것
- 7. 자바에서 문자열을 가져 오는 것
- 8. 그림에서 텍스트를 가져 오는 것
- 9. jquery로 데이터를 가져 오는 것
- 10. nokogiri로 URL을 가져 오는 것
- 11. 하스켈에서 목록의 평균을 찾는 것
- 12. 문장 내 단어의 평균 길이를 구하십시오. Java
- 13. 리스트에서 한 단어의 길이를 측정하는 방법
- 14. 'w'문자가있는 단어의 길이를 계산하는 정규식입니다. Java
- 15. NLTK의 색인을 부르는 것 - 사용 된 단어의 앞뒤에 텍스트를 가져 오는 방법?
- 16. 하스켈에서 모듈을 명시 적으로 가져 오는 것을 돕는 도구가 있습니까?
- 17. 하스켈에서 유형 정보를 가치 수준으로 가져 오는 방법은 무엇입니까?
- 18. Angular.js - NG-Grid를 사용하여 셀 안의 값의 길이를 가져 오는 방법. 아무것도 작동하지 않는 것 같습니다.
- 19. asp.net을 통해 db에서 img를 가져 오는 것
- 20. 페이스 북에서 위도와 경도를 가져 오는 것
- 21. PHP의 SOAP 서버에서 배열을 가져 오는 것
- 22. 목록의 두 섹션을 가져 오는 것
- 23. PHP의 URL에서 여러 변수를 가져 오는 것
- 24. 범위의 숫자를 gaussian_kde_resample 배열에서 가져 오는 것
- 25. 합금 요소 id를 변수로 가져 오는 것
- 26. 요청한 이벤트에서 빈 배열을 가져 오는 것
- 27. Cg 쉐이더에서 struct 파라미터를 가져 오는 것
- 28. ASP.NET 웹 폼에서 데이터를 가져 오는 것
- 29. jsoup 헤더에서 특정 테이블을 가져 오는 것
- 30. 파이썬에서 목록의 특정 색인을 가져 오는 것
당신은 당신이 쇼 코드에 의해 더 나은이 질문을 만들 수 있습니다 이미 마쳤어. 또한 haskell 질문에 당신의 욕망 출력의 유형 서명을 포함하는 데 도움이됩니다. – wizzup