저는 새로운 Scheme/Racket 학생입니다. 따라서 뻔뻔한 문법 오류는 용서하십시오. 스키마 : 이상한 형태로 반환되는 세 점선 요소 목록 (중절 연산자와 같은)
그것은 계획 목록'(a, b, c)
가 무효되어야한다고 오늘 수업 시간에 와서, 그러나 우리가 그것을 실행했을 때, 그것은 반환 : 말도 안돼
>'(a . b . c)
(b a c)
합니다. Afaik, 통역사는 자동차 'a와 cdr'b와 함께 cons cell을 만들어야하고, c는 무효해야합니다. 즉, 통역사는 여기서 정말로 이상한 일을하고 있습니다. 이 작업은 #lang scheme, #lang racket 및 기타 작업에서 가능합니다. 우리는 DrRacket을 통역사로 사용하고 있습니다.
흥미롭게
,>'(a . b . c . d)
예외가 발생하고 죽는다.
나는 매우 호기심이 많아서 언어에 익숙하지 않기 때문에 이것을 이해할 수 있기를 바랍니다. Google은 매우 도움이되지 않았습니다 (아마 검색어가 모호한 것 같습니다) 감사합니다!
편집 : '(a . b . c)
은 중온 연산자로 b로 해석 될 수 있습니다. 예 : >(4 . + . 6)
은 10을 반환합니다. 아마도 통역사는 연산자와 같이 b를 사용하고 있습니까? 즉, (b a c)
은 (+ 4 6)
과 같은 것입니다.
>(define b +)
>(define a 4)
>(define c 6)
>(a . b . c)
10
그래서 나는이 문제를 해결할 수 있다고 생각하지만, 나는 아직도 완전히의 사용을 이해하지 않습니다
Expermentation 말한다 "를." 이 경우 연산자. 나는 우리가이 문제를 해결했다고 생각하지만, 더 많은 통찰력이 크게 평가 될 것입니다!
연산자의 양쪽에있는 점들로 Fortran : 1 .LT를 상기시킵니다. 3 – JasonFruit