나는 SICP에서 상당히 많은 스킴을 배웠지 만 지금은 일반적인 리스프에 더 관심이 많다. 나는 일반적인 혀짤음의 fold
이 reduce
이고, 왼쪽 또는 오른쪽 접기에 특별한 인수가 있다는 것을 알고 있지만, unfold
은 무엇인가? 인터넷 검색은별로 도움이되지 못했습니다. 실제로 나는 전개가 없다는 인상을받습니다 ???일반 리스프에 대해 "unfold"하시겠습니까?
9
A
답변
13
커먼 리스프는 (loop ... collect ...)
입니다. 그 등가가 unfold
을 사용하여
(loop for x from 1 to 10 collect (* x x))
비교 :
(unfold (lambda (x) (> x 10)) (lambda (x) (* x x)) (lambda (x) (+ x 1)) 1)
일반적으로 (unfold p f g seed)
는 기본적으로
(loop for x = seed then (g x) until (p x) collect (f x))
편집이다 : 오타
3
일반적인 lisp 하이퍼pec은 unfold
함수를 정의하지 않지만 직접 작성할 수는 있습니다. 그것의 체계 정의는 상징을위한 거의 상징을 번역한다.
+3
감사를 해결. 그건 불행한 일이지만, 나는 내 자신의 글을 쓸거야. 나는 정말 순수하고 그처럼 아름다운 기능적 선량을 가진 계획을 좋아하지만, 나는 엉성하면서도 표현력이 풍부한 공통 리스프를 배웠다. 에스페란토가 아닌 영어를 배우는 것과 같습니다. – nullpointer
관련 문제
- 1. 일반 명칭의 보석에 대해
- 2. 모델에 대해 일반 클래스 기반 생성보기를 만들려면 어떻게해야합니까?
- 3. 각 클라이언트에 대해 확장 할 수있는 일반 기본 엔터티 만들기
- 4. 정적 파일에 대해 일반 HTTP보다 RTSP의 이점은 무엇입니까?
- 5. 지정된 유형의 일반 서비스에 대해 WCF 끝점을 구성하는 방법은 무엇입니까?
- 6. C# (일반 일반)?
- 7. 일반
- 8. 튜플을 파이썬과 비슷하지만 일반 Lisp으로 구현하기
- 9. 일반 일반 공장은 어떻게 만드나요?
- 10. 다른 일반 클래스를 사용하는 일반 클래스
- 11. 일반 인터페이스 VS 일반 메서드?
- 12. CSV (일반 속성) 일반 클래스
- 13. 일반 상속 문제 (일반 건설)
- 14. 일반 저장소
- 15. 차이점은 무엇입니까? 일반 목록 및 Arraylist, 일반 목록 Vs HashTable, 일반 목록 Vs 일반 없음?
- 16. 일반 일반 IQueryable 열거 형 문제
- 17. 일반 URL로 일반 URL로 변환 mod_rewrite PHP
- 18. 일반 클래스 및 인터페이스가 아닌 일반 버전
- 19. 일반 사전에서 일반 사전을 사용하는 방법은 무엇입니까?
- 20. 일반 텍스트를 WYSIWYG에서 일반 텍스트 영역으로 복사
- 21. Reflection.Emit 일반 기본 클래스 일반 메서드 호출
- 22. django : 일반 목록보기에 일반 모델을 표시하려면 어떻게해야합니까?
- 23. 하스켈에서 어떻게 일반 프로그래밍을합니까?
- 24. System.Type에서 일반 개체 초기화
- 25. 일반 텍스트의 트위터 팔로워보기
- 26. 일반 콜렉션에서 Except() 사용
- 27. 일반 데이터베이스 모니터링 도구
- 28. 일반 구문
- 29. 일반 제약
- 30. Automapper는 일반
흠, 흥미 롭군요. 나는 지난 1 시간 동안 루프를 가지고 놀았습니다 : P 그 위대한 것들! 프로그래밍 언어에 형식 문자열과 같이 이해할 수있는 고유 한 구문과 규칙 집합이있는 이러한 종류의 포함 된 하위 언어가있는 것이 좋습니다. 루프는 강력한 것입니다! – nullpointer
어둠의 세계에 오신 것을 환영합니다. – huaiyuan