作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以尝试解释这两个函数: Racket PLAI 方案中的“define-type”和“type-case”吗?我是一个菜鸟程序员,我不太了解 Racket 网站上的文档。如果有人可以提供示例,将不胜感激。谢谢。
最佳答案
这是一个如何使用define-type
和type-case
的小例子:
#lang plai
; A ListOfNumbers are either
; is either an empty list of numbers
; or is constructed to two things a, and, d,
; where a is a number and d is a list of numbers.
(define-type ListOfNumbers
(Empty)
(Cons (a number?) (d ListOfNumbers?)))
; construct a list of numbers as an example
(define a-list (Cons 42 (Cons 43 (Empty))))
a-list ; prints: (Cons 42 (Cons 43 (Empty)))
(type-case ListOfNumbers a-list
(Empty () "the list is empty")
(Cons (a d) (~a "the first number in the list is " a)))
; prints: "the first number in the list is 42"
关于scheme - Racket - lang plai - 定义类型和类型案例解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33340072/
有人可以尝试解释这两个函数: Racket PLAI 方案中的“define-type”和“type-case”吗?我是一个菜鸟程序员,我不太了解 Racket 网站上的文档。如果有人可以提供示例,将
我在学习PLAI ,现在我已经在 DrRacket 中运行了第 3 章的代码(使用 #lang plai),但我是 DrRacket 的新手。我可以只在 Emacs 中编辑和运行代码吗? 最佳答案 #
我在学习PLAI ,现在我已经在 DrRacket 中运行了第 3 章的代码(使用 #lang plai),但我是 DrRacket 的新手。我可以只在 Emacs 中编辑和运行代码吗? 最佳答案 #
我是一名优秀的程序员,十分优秀!