대화형 도움말
대화형 도움말 (Interactive Help)
REPL에서 help 폼을 사용하면 문서를 검색해서 웹 브라우저로 결과를 열어 보여줄 수 있어요. 이 문서에서는 racket/help 라이브러리가 제공하는 help 폼의 여러 변형을 설명합니다.
출처: Racket Reference
본문
(require racket/help) package: base
이 섹션에 문서화된 바인딩들은 racket/help와 racket/init 라이브러리가 제공합니다. 즉, Racket 실행 파일이 명령줄 인자 없이 시작될 때 사용 가능하다는 뜻이에요. racket/base나 racket이 제공하는 것은 아닙니다.
syntax
help
(help string ...)
(help id)
(help id #:from module-path)
(help #:search datum ...)
일반적인 도움말은 메인 문서 페이지를 참고하세요.
help 폼은 문서를 검색하고, (사용자가 선택한 브라우저를 사용해) 웹 브라우저를 열어 결과를 표시합니다.
사용자의 브라우저가 어떻게 도움말 정보를 표시하도록 실행되는지에 대한 정보는 net/sendurl을 참고하세요.
단순한 help 또는 (help) 폼은 메인 문서 페이지를 엽니다.
(help string ...) 폼 — 문자열을 만들어내는 표현식이 아니라 리터럴 문자열을 사용하는 형태 — 은 문자열 매칭 검색을 수행합니다. 예를 들어,
(help "web browser" "firefox")
는 문서 인덱스에서 "web browser" 또는 "firefox" 구절을 포함하는 참조를 검색합니다.
(help id) 폼은 id의 현재 바인딩에 특화된 문서를 찾습니다. 예를 들어,
(require net/url)
(help url->string)
는 웹 브라우저를 열어 net/url 라이브러리의 url->string 문서를 보여줍니다.
help의 목적상, for-label require는 실제로 net/url 라이브러리를 실행하지 않고 바인딩을 도입합니다 — 문서를 확인하고 싶지만, 제공하는 모듈을 실행할 수 없거나 실행하고 싶지 않은 경우를 위해서예요.
(require racket/gui) ; does not work in racket
(require (for-label racket/gui)) ; ok in racket
(help frame%)
id에 for-label 바인딩과 일반 바인딩이 모두 없다면, help는 id에 대한 바인딩을 익스포트하는 것으로 알려진 모든 라이브러리를 나열합니다.
(help id #:from module-path) 변형은 (help id)와 비슷하지만 module-path의 익스포트만 사용합니다. (module-path 모듈은 임시 네임스페이스에서 for-label로 요구됩니다.)
(help frame% #:from racket/gui) ; equivalent to the above
(help #:search datum ...) 폼은 (help string ...)와 비슷합니다. 여기서 datum의 문자열이 아닌 형태는 display를 사용해 문자열로 변환됩니다. 어떤 datum도 표현식으로 평가되지 않아요.
예를 들어,
(help #:search "web browser" firefox)
역시 문서 인덱스에서 "web browser" 또는 "firefox" 구절을 포함하는 참조를 검색합니다.
더 알아보기
- 명령줄 파싱 (Command-Line Parsing) —
racket실행 옵션 - 네트워크 유틸리티 (net/sendurl) — 브라우저 실행 방식
- REPL (Interaction) — Racket REPL 사용