런타임시 데이터 구조를 조작하는 패턴 매칭의 요지가 있습니다. 필자는 패턴 매칭이 일치하는 패턴, 일치하는 표현식, 성공 연속 및 실패 연속이라는 4 가지 인수를 취한다는 것을 알고 있습니다. 그러나, 그 후, 라켓 문서를보고 나는 길을 잃었다. 이 코드를 코드로 구현하는 방법과 그 코드로 무엇을해야하는지 구체적으로 이해하지는 못합니다 (구체적인 내용, 줄 단위, 설명 예제). 다른 사람이 내게 패턴 매칭을 어렴풋이 설명 된 버전으로 설명해 주시겠습니까? 아마도 나를 도와 줄 기본 코드가 있습니까?라켓에서 패턴 일치를 설명 하시겠습니까?
0
A
답변
3
패턴 일치, 우리는 데이터 구조체를 따로 따로 찢어하려는, 그래서 우리는 우리가에 대해 foo
을 시도하는 생성자의 목록을 지정해야
(match foo
...)
다음을 폭파하기 위해 데이터의 조각에 전달합니다. 해당 생성자 중 하나에 의해 foo
이 생성 된 경우 foo
필드를 지정된 변수에 바인딩하고 연결된 블록을 실행합니다.
(match foo
[(list a b) (+ a b)]
[_ (displayln "Hey that's not a list!")])
그게 전부 야! foo
이 두 요소의 목록 인 경우 + a b
을 실행하면 다른 연속을 실행하고 foo
은 목록이 아님을 인쇄합니다.
3
패턴 일치 엔진을 구현하기 위해 학교 과제가있는 것 같습니다.
그렇다면이 강의를 시청하는 것이 재미있을 수도 있습니다. 4A: Pattern Matching and Rule-based Substitution.
강의는 그가 말하는 것에 대해 알고있는 사람이하는 것입니다. 그는 개념에 대해 이야기하고, 문제를 작은 조각으로 나누는 방법, 그리고 많은 코드 샘플을 보여줍니다.
관련 문제
- 1. 라켓에서 부분 문자열 일치를 비교하는 방법은 무엇입니까?
- 2. 패턴 일치를 위해 생성자를 분할 하시겠습니까?
- 3. 불완전한 패턴 일치를 필터로 사용 하시겠습니까?
- 4. FindUsersByName에서 패턴 일치를 구현하십시오.
- 5. 라켓에서 견적 프로세스를 정의 하시겠습니까?
- 6. 어떻게 작동하지 않는 정규식 패턴 일치를 수정 하시겠습니까?
- 7. 조건부 패턴
- 8. MVC 패턴 설명
- 9. 스칼라 내가처럼 보이는 패턴 일치를 수행하고자하는 패턴 또는
- 10. 하스켈에서 튜플과 패턴 일치를 수행하는 방법은 무엇입니까?
- 11. Perl에서 여러 패턴 일치를 확인하는 방법
- 12. 시간 일치를 만드는 방법 Regex 패턴
- 13. 아날로그 입력 장치에서 퍼지 패턴 일치를 감지합니다.
- 14. 쿼리 문자열에서 정확한 패턴 일치를 수행하는 방법
- 15. 스칼라 : 패턴 일치를 위해 모호한 유형 확인
- 16. java.lang.Object와 Scala 패턴 일치를 일치시키는 방법
- 17. 생성자 값에서 haskell 패턴 일치를 시도하는 중
- 18. 이 패턴 일치를 단순화하는 방법은 무엇입니까?
- 19. 값이 패턴 일치를 통한 벡터 유형인지 확인
- 20. SML에서 문자열에 패턴 일치를 수행하는 방법은 무엇입니까?
- 21. perl : 패턴 일치를 기초로 한 문자열 추출
- 22. 패턴 일치를 사용하여 경로에서 컬렉션을 얻는 방법?
- 23. 스키마에서 패턴 일치를 수행하는 방법은 무엇입니까?
- 24. 패턴 일치를 사용하여 windows 폴더를 삭제하십시오.
- 25. 라켓은 라켓에서
- 26. 라켓에서 캔버스
- 27. 대한 설명 및 Object.create 패턴
- 28. 패턴 일치를 통해 F #로 구분 된 공용 인스턴스를 비교하십시오.
- 29. 라켓에서 JSON을 어떻게 파싱합니까?
- 30. 라켓에서 인스턴스 사본을 만드시겠습니까?
[패턴 일치] (http://www.cs.utah.edu/plt/snapshots/current/doc/guide/match.html)에서 라켓 가이드 항목을 보았습니까? 여기에는 몇 가지 구체적인 예가 있습니다. –