(caadr exp) 할당 변수

계산법

4.1.2 Representing Expressions of SICP를 읽고 있습니다 .

정의하는 definition-variable.

  (define (definition? exp)
    (tagged-list? exp 'define))

  (define (definition-variable exp)
    (if (symbol? (cadr exp))
        (cadr exp)
        (caadr exp))) ;;

조건문 참조

    (if (symbol? (cadr exp))
        (cadr exp)
        (caadr exp))) ;;

무엇이 (caadr exp)반환 되었는지 잘 모르겠습니다 . null입니까 아니면'()

가변 케이스

(define ⟨var⟩ ⟨value⟩)

(cadr exp) 두 번째 요소를 변수로 반환합니다.

그러나 절차 케이스의 대안 :

  (define (⟨var⟩ ⟨param₁⟩ … ⟨paramₙ⟩)
    ⟨body⟩)

식 (caadr exp)))는 (car (car (cdr x)))

cadr이 var이므로 caadr은 null입니까?

몰브 드닐로

프로 시저의 경우 (cadr exp)이름이 아니라 첫 번째 요소가 이름 인 목록입니다.

         (cadr exp)
             |
             v
         +-------+
         |       |
 (define (f a b c) body)  <--- exp
          ^
          |
      (caadr exp)

평가하는 경우 :

(caadr '(define (⟨var⟩ ⟨param₁⟩ … ⟨paramₙ⟩) ⟨body⟩))
-->
(caar '((⟨var⟩ ⟨param₁⟩ … ⟨paramₙ⟩) ⟨body⟩))
-->
(car '(⟨var⟩ ⟨param₁⟩ … ⟨paramₙ⟩))
-->
⟨var⟩

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사