了解构造(第。段内容)和继续教育

问题描述 投票:0回答:1

我刚刚开始了Scheme Lisp学习,需要一些照明。我在https://www.gnu.org/software/guile/manual/html_node/Types-and-the-Web.html的某个站点上遇到了一个片段,但没有捕获到(para . contents)

这并没有在shell中引起任何错误,片段的单词或多或少已作为关键字或内置函数。我尚未在互联网上找到para功能。另外,表达式中的点.似乎很奇怪。

有人可以解释它的语法并告诉所有Scheme Lisp函数的Web索引吗?

function syntax functional-programming scheme lisp
1个回答
1
投票

[[更新:感谢用户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)。>>

© www.soinside.com 2019 - 2024. All rights reserved.