1

scribble では、 と を使用defprocdefformて、関数またはマクロのドキュメントを定義できます。次に、落書きはdefformファイル内で最も近いものを使用して、関数/マクロが定義されているモジュールを決定します。

ただし、同じモジュールのドキュメントを複数の落書きファイルに分割することが理にかなっている場合もあります。

(たとえば、あるinit関数repl.scrblのドキュメントを に置き、 のドキュメントが欲しいとfindしますapi.scrbl。しかし、どちらも同じモジュールで定義されています。たとえば、repl.rkt.)

defmoduleただし、ドキュメントに同じことの複数の実証がある場合、Scribble は不平を言います。

WARNING: collected information for key multiple times: '(index-entry (mod-path "zordoz")); values: (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz... (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz...
WARNING: collected information for key multiple times: '(mod-path "zordoz"); values: '#(("REPL") (mod-path "zordoz") (2) (doc #"main" #"index.html") #f) '#(("API") (mod-path "zordoz") (3) (doc #"main" #"index.html") #f)
raco setup: rendering: <pkgs>/zordoz/scribblings/main.scrbl
WARNING: collected information for key multiple times: '(index-entry (mod-path "zordoz")); values: (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz... (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz...
WARNING: collected information for key multiple times: '(mod-path "zordoz"); values: '#(("REPL") (mod-path "zordoz") (2) (doc #"main" #"index.html") #f) '#(("API") (mod-path "zordoz") (3) (doc #"main" #"index.html") #f)

では、同じモジュールで定義されていても、複数の落書きファイルにまたがって両方の関数を文書化する方法はありますか?

4

1 に答える 1

0

これらのファイルの両方が別のファイルのサブセクションとして含まれている場合、たとえばmain.rkt、 をそのファイルに入れると、他の 2 つのファイルがそれをおよびdefprocのモジュールとして使用します。defprocdefform

例えば:

#lang scribble/manual

@title{Zordoz}

@defmodule[zordoz]
@include-section[repl.scrbl]
@include-section[api.scrbl]
于 2015-09-16T19:06:52.213 に答える