에서 자바 -루프 내가 좋아하는 PLT-체계에서 루프를 구현할 수있는 방법은 PLT 계획
for(int i=0;i<10;){
for(int j=0;j<3;){
System.out.println(""+j);
j++;
}
System.out.println(""+i);
i++;
}
에서
에서 자바 -루프 내가 좋아하는 PLT-체계에서 루프를 구현할 수있는 방법은 PLT 계획
for(int i=0;i<10;){
for(int j=0;j<3;){
System.out.println(""+j);
j++;
}
System.out.println(""+i);
i++;
}
에서
Scheme에서 for 루프를 구현하기위한 명시적인 구조체 (구조체를 직접 작성하지 않는 한!). Scheme에서 이것을 수행하는 요리 책 방법은 목록을 반복하는 재귀 함수를 정의하는 것입니다. 이 페이지에서 촬영
(define (doit x x-max dx)
(if (<= x x-max)
(begin
;;...perform loop body with x...
(doit (+ x dx) x-max dx))))
(doit a b dx) ; execute loop from a to b in steps of dx
: 여기
당신이 필요로하는 아이디어를 설명하는 페이지에 다른 링크가있어 여기에 계획에 대한 루프 스타일의 기능을 수행하는 방법의 예 계획에 명령형 언어에서 루프를 번역하는 이해 :
계획이있다 정말 재미있는 언어를 배우려면 Structure and Interpretation of Computer Programs을 읽어야합니다. 이전에는 MIT에서 Scheme을 가르치는 데 사용 된 교과서였습니다.
고마워요. 이것은 큰 도움이됩니다. :) – fireball003
아무런 문제가 없으므로 대학에서의 저의 긍정적 인 경험에 대해 생각하게합니다. Scheme과 같은 기능적 언어를 배우면 더 나은 프로그래머가 될 수 있습니다. 문제에 대한 우아한 해결책을 생각하는 데 도움이됩니다. Scheme이 이해하기 시작했다면 Prolog와 같은 다른 "다른"언어를 확인하는 것이 좋습니다. 이는 Scheme과 Java와는 다르며 새로운 새로운 것을 가르쳐 줄 수 있습니다. 행운을 비네. :) –
Michele Simionato의 "The adventures of a pythonista in schemeland"을 살펴 보시기 바랍니다. 그것은 파이썬 -> 계획이지만, 그것은 입니다. 실제로는이며, 더 중요한 것은 절차 적 - 기능적입니다.
Scheme의 반복 구문은 "do
"이며 R5RS specification에서 찾을 수 있습니다.
이 같은 것을 보일 것이다 준 예 :
(do ((i 0 (+ i 1))) ((> i 9))
(do ((j 0 (+ j 1))) ((> j 2))
(display j)
(newline))
(display i)
(newline))
(do ...)
이 예에 표시하는 것보다 좀 더 일반적이다. 예를 들어 부작용으로 값을 사용하는 대신 값을 반환 할 수 있습니다. 많은 "카운터"가 할 수도 있습니다 :이 작업을 수행 할 수 PLT에서
(do ((i 0 (+ i 1)
(j 0 (+ j 2))
((stop? i j) <return-value>)
exprs...)
:
(for ([i (in-range 10)])
(for ([j (in-range 3)]) (printf "~s\n" j))
(printf "~s\n" i))
덕분에 musicfreak, 나는 그것을 배우고있다. 그것이 내가 왜이 질문을했는지에 대한 것입니다 :) 스킴 문서는 분명하지 않습니다. 그러나 나는 곧 그것에 익숙해 질 것이라고 생각한다. – fireball003
좋아요, 이것이 "나에게 숙제를해라"는 것 중 하나가 아닌지 확인하는 것. :) 나는 계획을 모르지만 행운을 빌어 요! –
숙제 문제라면 "구문 문제"보다는 "문제"가 보일 것입니다. – fireball003