안녕하세요 newbie는 Lisp을 배우려고 노력하고 있습니다. 왜 lisp이 출력 결과의 끝에서 NIL을 인쇄하는지 혼란 스럽습니까? NIL을 출력하지 못하게하거나 if 문이 올바르게 설정되어 있지 않은가?LISP를 배우십시오. if 문을 사용하여 함수의 끝에서 NIL을 출력하는 이유는 무엇입니까?
[2]> (square 10)
number greater than 4
NIL
안녕하세요 newbie는 Lisp을 배우려고 노력하고 있습니다. 왜 lisp이 출력 결과의 끝에서 NIL을 인쇄하는지 혼란 스럽습니까? NIL을 출력하지 못하게하거나 if 문이 올바르게 설정되어 있지 않은가?LISP를 배우십시오. if 문을 사용하여 함수의 끝에서 NIL을 출력하는 이유는 무엇입니까?
[2]> (square 10)
number greater than 4
NIL
함수의 바로 리턴 값이다 :
(defun greater (x)
(if (> x 4)
(message "number is greater than 4")))
는 결과를 가져옵니다. REPL (대화 형 평가)은 입력 한 각 표현식의 결과를 표시합니다.
greater
함수 호출 결과는
NIL
입니다.
모든 최상위 양식은 Read-Eval-Print-Loop에서 인쇄합니다. 물론
;;; make a main function
(defun main()
;; all your program top level forms here!
(values)) ; empty values return no value and the REPL will not print anything when your program terminates
;; call main
(main)
을 당신이 (+ 2 3)
를 입력하고 인쇄 문에 포장 할 필요없이 5
을 다시 얻을 수 있도록 인쇄 결과를 원하는 대화 형 세션 : 여기를 방지하는 방법입니다.
결과가 주어진 코드를 참조합니까? 코드가 함수를 '커다'로 정의하지만 결과에서 '평방'함수가 사용됩니다. – howlger