실행으로 확인하기
LISPEX
((lambda (x) (if #t x 0)) 42)관측 결과
OUTPUT
42이 순서로 생각하세요
if에는 else 가지가 반드시 있어야 합니다.begin과 프로시저 본문은 왼쪽부터 차례를 지킵니다.lambda는 개수가 정해진 매개변수와 점 표기 매개변수를 함께 받습니다.set!은 이미 있는 셀의 값을 바꾸고,define은 최상위 셀을 새로 만들거나 갱신합니다.quote는 바꿀 수 없는 리터럴 데이터를 돌려줍니다. 런타임은 인용한 요소를 평가하지 않습니다.
형식 계약
| 형식 | 인자 수 / 평가 | 결과 또는 오류 |
|---|---|---|
| quote | datum 1개; 요소 평가 없음 | 불변 datum |
| if | 테스트, 참 가지, 거짓 가지; 테스트 먼저 | 선택 가지 패킷; 테스트가 한 값이 아니면 E320 |
| lambda | 매개변수와 본문 1..N개 | 클로저; 적용 인자 수가 다르면 E302 |
| set! | 이름과 단일 값 RHS | 0개 값; 미바인딩이면 E303 |
| let / letrec | 바인딩 목록과 본문 1..N개 | 마지막 본문 패킷; 미초기화 letrec 읽기는 E321 |
흔한 오해
겉으로 편하게 쓰는 형식은 이 페이지가 아니라 파생 형식 레퍼런스에서 다룹니다.
다음으로
코드를 작성할 때 이 페이지를 곁에 두세요. 차근차근 짚어 주는 설명이 필요하면 문법 지도나 관련 매뉴얼로 돌아가면 됩니다.