我刚刚开始了Scheme Lisp学习,需要一些照明。我在https://www.gnu.org/software/guile/manual/html_node/Types-and-the-Web.html的某个站点上遇到了一个片段,但没有捕获到(para . contents)
这并没有在shell中引起任何错误,片段的单词或多或少已作为关键字或内置函数。我尚未在互联网上找到para
功能。另外,表达式中的点.
似乎很奇怪。
有人可以解释它的语法并告诉所有Scheme Lisp函数的Web索引吗?
[[更新:感谢用户coredump澄清了可变参数]
您在任何地方都找不到para
,因为它是在这里定义的-它是具有可变数量的参数的函数定义:
(define (para . contents)
(string-append "<p>" (string-concatenate contents) "</p>"))
这是什么,它定义了一个函数,该函数使用多个字符串作为参数,然后将其存储在名为contents
的列表中,并返回一个字符串,该字符串包含围绕您所包含内容的HTML p标签通过。
所以您可以这样称呼它
(para "This is a sentence. " "And another one. " "The third one. ")
(注意句号后的空格。它将返回
"<p>This is a sentence. And another one. The third one. </p>"
关于Scheme函数的索引:看一下Scheme Standard(该链接用于R5RS)。>>