구성표를 사용하여 다음 기능을 사용할 필요가 있습니다. (define safe-div
(lambda (num denom safe)
(if (zero? denom)
safe
(div num denom))))
그러나,이 기능이 매우 자주 호출되고) 지혜로운 충분히 (속도를 수행하지 않음) (모든 인수는 자연수 [0,
이것은 Scheme을 사용하여 배우는 입문 프로그래밍 수업에서 개인적으로 어려운 문제이지만, Python 예제에 만족합니다. 은 이미 다음과 같은 방식으로 모듈 식 지수의 이진 방법을 구현했습니다 : (define (pow base expo modu)
(if (zero? expo)
1
(if (even? expo)
나는 실행을 시도한 프로그램에 대해 질문이있었습니다. Encrypt는 메시지, 공개 키 및 개인 키를 사용하고 공개 키의 메시지에있는 문자가 개인 키의 문자로 변경된 메시지를 반환합니다. 예를 들어 (암호화 "abcd" "abcd" "efgh")는 "efgh"를 반환해야합니다. (encrypt "abcl" "abcd" "efgh")은 "efgl" 공개
R6RS 또는 Chez Scheme v7.9.4에 목록에 중복 요소가 있는지 확인하는 라이브러리 기능이 있습니까? 다른 방법으로 세트에 내장 된 기능 (중복 요소를 허용하지 않음)을 가지고 있습니까? 지금까지 나는 here이라는 예를 찾을 수있었습니다. 문제는 실제로 Chez Scheme 라이브러리의 일부로 보이지 않는다는 것입니다. 비록 내가 이 내 자신
대 --program는 Chez Scheme 코드의이 비트를 고려
(import (chezscheme))
(define (list-enumerate ls val proc)
(let loop ((ls ls) (return? #f) (val val))
(if (or (null? ls)
return?)
val
스키마에서 일치를 사용하는 방법을 배우려고합니다. 나는 일종의 아주 짧은 문제 (즉, 길이를 정의하는 것은 단지 두 줄임)로 작동하는 방법을 이해하지만 두 개 이상의 입력이있는 문제와 도우미 프로그램은 이해하지 못합니다. 예를 들어, 유니온을 정의하는 일반적인 방법은 다음과 같습니다. (define ele?
(lambda (ele ls)