print-graph 的变量列表 ¶在编写 print-graph 函数时,首要任务是写出 let 表达式中的变量列表。(我们暂且不考虑将该函数改为交互式,也不考虑其文档字符串的内容。)
变量列表应当设置若干个值。显然,纵轴标注的顶端数值至少要等于图表高度,这意味着我们必须在此处获取该信息。注意 print-graph-body 函数同样需要该信息。没有必要在两个不同位置计算图表高度,因此我们应当修改之前定义的 print-graph-body,使其复用这次的计算结果。
同样,打印横轴标注的函数与 print-graph-body 函数都需要知道每个符号的宽度。我们可以在此处完成计算,并修改上一章节中定义的 print-graph-body。
横轴标注的长度至少要与图表宽度一致。不过该信息只在打印横轴的函数中使用,因此无需在此处计算。
基于这些考虑,我们可以直接写出 print-graph 中 let 的变量列表形式:
(let ((height (apply 'max numbers-list)) ; First version.
(symbol-width (length graph-blank)))
稍后我们会看到,这个表达式并不完全正确。