학습 교활 - 부울

3098 단어 gnulearnschemeguile


두 부울 값은 "true"및 "false"입니다. Guile에서 각각 #t 또는 #true#f 또는 #false.

조건부 테스트 컨텍스트에서 "true"는 #f 또는 #false 이외의 식을 의미합니다.

다음은 이 모든 것을 보여주는 작은 테스트 도구 모음입니다.

(use-modules (srfi srfi-64))

(test-begin "test-suite")

(test-equal "Truth"
  #t
  #true)

(test-equal "Falsness"
  #f
  #false)

(test-equal "Numbers are true"
  #t
  (if 12547
      #t
      #f))

(test-equal "Strings are true"
  #t
  (if "I am not false"
      #t
      #f))

(test-equal "Lists - even empty - are true"
  #t
  (if '()
      #t
      #f))

(test-equal "Symbols are not false"
  #f
  (not 'i-am-not-false))

(test-end "test-suite")

아래 코드로 /tmp/bool.scm 파일을 생성합니다. 테스트를 실행하고 모든 것이 잘 진행되면 다음 결과가 표시됩니다.

$ guile bool.scm 
;;;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;;; compiling /tmp/bool.scm
compiled /home/jeko/.cache/guile/ccache/3.0-LE-8-4.3/tmp/bool.scm.go
%%%% Starting test-suite (Writing full log to "test-suite.log")
# of expected passes 6

마음에 든다면 이 파일을 조정하여 실험할 수 있습니다!

좋은 웹페이지 즐겨찾기