저는 프로그래머를 시작하고 처음 몇 가지 프로그래밍 클래스를 가지고 있습니다. 이 함수는 Haskell을 사용하여 함수형 프로그래밍을 시작했습니다. 나는 이미 몇 가지 과제를 완료했지만, 한 지점에 머물러있어 도움이되기를 희망하고 있었다.목록을 좌표 집합으로 바꾸기 [Haskell]
전체 코드를 지루하게하지 않기 위해, 지금 내 프로그램은 텍스트 파일에서 명령 목록을 추출하고 있습니다. 이 목록을 일련의 좌표로 변환해야합니다. 무엇을 의미하는 라인을 따라 무언가 :
function :: [String] -> (Int, Int, Char)
함수 수신처 경우, 예를 들어,리스트 [ "0 0 N"] 출력 좌표 및 방향 (0, 0, N). 그냥 정수라면
function [x y o] = (show x, show y, read o)
가 작동 것이다 :
나는 일을 시도했다. 나는 Char 부분을 작동시키는 것처럼 보이지 않습니다. 그런 멍청한 질문이라면 나는 사과하지만, 나와 함께 감싸 주시오, 제발, 저는이 모든 것에 정말로 새로운 것입니다.
감사합니다.
모든 부품을 읽으려고 했습니까? :)'show'는'read'의 ** 대응 **입니다. 당신이 원하는 것은 기본적으로 문자열을 파싱하는 것입니다. 이미 토큰 화 된 경우,'f [x, y, o] = (read x, y, read o)'가 트릭을 수행해야합니다. (쉼표에주의하십시오) –
입력 내용이'String' 또는 단일'String' ='Char's 목록입니까? –
'infRobot [x, y, o] = (read x, read y, read o)'레이아웃을 사용하여 파트를 읽었습니다. 그러나 ghci에서 함수를 사용할 때 다음과 같은 결과가 나옵니다. 'infRobot [ "0 0 S"] *** 예외 : tarefa2teste.hs : 19 : 1-43 : 함수의 비 한정적인 패턴 infRobot' – Vux