gpt4 book ai didi

types - 如何在 Racket 中检查类型?

转载 作者:行者123 更新时间:2023-12-01 07:41:09 27 4
gpt4 key购买 nike

我定义了一个函数

(define 1-9 (list->set (range 1 10)))

我想看看 1-9真是一套。我如何获得 1-9 的类型?

我试图谷歌 Racket 检查类型,但我找不到任何有用的信息。

最佳答案

#lang racket是动态类型的。实际上,这意味着您通常不(不应该)关心某个值的“The”“Type”。

相反(正如亚历克斯指出的那样),你给“谓词”函数一个值,比如 list? .如果谓词返回 true,那么您可以继续执行 list -y 带有值的东西 -- 将值赋予期望 list 的函数.

这比拥有类似 (typeof value) 的东西有用和可靠得多。返回魔术符号,如 List .毕竟,你关心的是你可以用值(value)做什么。一个谓词告诉你。并且谓词允许可以以多种方式使用的值(例如作为列表和作为集合,两者兼有)。

附言这类似于为什么版本号(如语义版本控制)如此愚蠢。给定一些已安装的库,您真正关心的是,它是否提供某些功能和行为。你要问实际安装的库,你提供函数X - 不是用一些魔数(Magic Number)和外部信息来猜测。

pps如果您想序列化值(将它们写入和读取到文件)怎么办?您确实需要选择一种方式来表示每个值。在 Racket 中,一种方法是使用原始值的打印表示,以及其他类似预制结构的东西——然后使用 writeread .还有racket/serialize .无论如何,序列化值是一件相对罕见的事情。

关于types - 如何在 Racket 中检查类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53292108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com