syntax - 将空列表传递给定义类型 : possible?

标签 syntax scheme racket

菜鸟 Racket 问题。我在这本书中使用 Krishnamurthi 的 PLAI 教科书以及相关的 Racket 编程语言。

现在,假设我有一个定义的类型:

(define-type Thingy
 [thingy (num number?)])

那么,在什么情况下我可以让这个东西接受一个空列表'()

最佳答案

空列表不是数字,因此您拥有的类型定义不会接受它。

您可以使用 (lambda (x) (or (number? x) (null? x))) 而不是 number? 来接受数字或空列表,但我不知道你为什么要这样做。

关于syntax - 将空列表传递给定义类型 : possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7465763/

相关文章:

bash - 这个 PS1 变量如何用单引号定义?

javascript - 使用 .innerhtml 输入带有链接的列表

list - 如何在 Racket (方案)中将列表分成均匀大小的 block ?

functional-programming - 用于查找给定函数的列表的最小元素的 Racket 函数

racket - Racket(和 Typed Racket)是强类型还是软类型?

c++ - c++ 和 c 中的命名空间

以某种方式组合两个列表的方案

parsing - 在 Racket 中可视化 s-表达

clojure - Lisp 方言以及与 Java/C# 的比较

java - Dynamodb java 语法