나는 목록이 '(1 2 3 4)입니다. 목록의 각 값을 값 (예 : 1)으로 뺍니다. 새 목록 '(0 1 2 3)을 반환하고 싶습니다. 내가 R5RS을 사용하고 있습니다. map을 사용해 보았지만 실패했습니다. 내 자신의 반복 또는 재귀 알고리즘을 정의하는 데는 map을 사용하고 싶습니다. (map (lambda (x) (- x value)) data)
그래서 나는 (foo number? '(a (2 (c 3) 4)))
=> (2 3 4)
또는 (foo symbol? '(a (2 (c 3) 4)))
=> (a c)
내가 올라와있다 즉, 주어진 조건을 통과하는 식 내부의 모든 원자를 발견 함수를 정의하는 것입니다 계획 질문에 대답하려고 올바른 출력을 제공한다고 믿는 다음 함수를 사용합니다. 그러나
Scheme 언어의 do-loop 내에서 간단한 카운터 증가를 원하지만 언어에 익숙하지 않고 많은 스크립트를 성공하지 못했습니다. (define j 5)
(Do ((i 10 (+ i 1))) ((>= i 20))
(ti-menu-load-string (format #f "/file/read-case \"C:/DataProcessing/Case~a-tim
나는 현재 시험 준비 중이고 foldr로 foldl을 작성하는 것이 좋은 테스트가 될 것이라고 생각합니다. 여하튼 , 난 알고 (foldl F 형베이스 LST) 반환 (f를 XN (FX LST되면서 (N-1)... (F X1에 기재) (X1,... XN) 그래서 나는 현재하고있는 것은 이것이다 :. (define (foldl/w/foldr f base ls
두 개의리스트, lst1 및 lst2이 있습니다. 일부 요소를 공유하는지 확인하는 함수를 정의하려고합니다. 예를 들어 :는 (share-some-elements? '(a b) '(a c)) ⇒ 사실 (share-some-elements? '(a b) '(d e f)) ⇒ 거짓 (share-some-elements? '(a b) '(a b d e)) ⇒는 내
Scheme 매크로는 "파생 된"식별자를 만드는 것이 일반적입니다. 예를 들어 R6RS 구문 레코드 API를 사용하여 foo 레코드 유형을 정의하는 방법은 기본적으로 make-foo이라는 생성자를 정의합니다. 내 자신의 매크로에서 비슷한 것을하고 싶었지만 표준 라이브러리 내에서 깨끗한 방법을 찾을 수 없었습니다. (define (identifier-add-
게으른 함수형 언어에서 링크 된 목록은 생성기와 유사한 의미를 가지며 최적화 컴파일러에서는 실제로 저장소에 사용되지 않을 때 오버 헤드를 완전히 제거 할 수 있다는 것을 알고 있습니다. 그러나 열정적 인 기능 언어에서는 사용이 덜 어려워 보이지만 최적화는 더 어려워 보입니다. Scheme과 같은 언어가 기본 배열 표현으로 플랫 배열을 사용하는 좋은 성능의
Scheme에서 객체와 표현식을 취하는 함수를 만드는 질문을하고 있습니다. 예를 들어 (foo 'x '(x 10 x x 4))은 주어진 객체를 따르는 모든 객체를 반환해야하므로 위의 함수 호출은 (10 x 4)을 반환합니다. 그러나 표현에는 (foo 'y '(y (3 y 5 y y 8 9) (10 y 12 13 y 15 y) 17))과 같이 목록을 포함하여
MIT 계획 : 나는 피보나치 시리즈 (SICP의 섹션 1.2.2)의 n 번째 기간을 계산하는 함수를 작성했지만, 난 오류가 무엇입니까 : 지정되지 않은 반환 값을 (define (fib n) (
define (fib-iter a b count) (
if (= count n) a
(fib-iter b (+ a b) (+ cou
나는 scheme에 익숙하지 않고 Scheme의 matrix에 문제가있다. 하나의 크고 작은 정사각형 행렬 (조건을 가진 : 작은 길이가 큰 것의 제수이어야 함)을 취하고 작은 행렬로 큰 행렬에 연산을 수행하는 새로운 행렬을 만드는 함수를 생성해야합니다. 성공적으로 큰 매트릭스를 원하는 크기로 분할했습니다. 결과를 얻으려면 큰 매트릭스를 성공적으로 조작하고