【发布时间】:2019-03-26 12:32:27
【问题描述】:
.rkt 是“常规”Racket 源代码的常规文件扩展名。在文档中,我还看到使用了 .rktl 和 .rkts。 .rktl 和 .rkts 是做什么用的,还有我不知道的 Racket 文件扩展名吗?
【问题讨论】:
标签: racket
.rkt 是“常规”Racket 源代码的常规文件扩展名。在文档中,我还看到使用了 .rktl 和 .rkts。 .rktl 和 .rkts 是做什么用的,还有我不知道的 Racket 文件扩展名吗?
【问题讨论】:
标签: racket
.rkt 文件扩展名通常用于表示模块的文件。这些通常在顶部有一个#lang .... 行,有时是(module ....)。可以使用 require 将它们作为模块导入。
.rktl 和 .rkts 文件扩展名用于在顶层加载的非模块文件。它们不一定在顶部有#lang .... 行,并且必须在某些外部环境中使用load加载,而不是使用require 导入。这些通常对它们具有更“动态”的感觉,并且它们更常用于在多个文件中使用变量突变的脚本。这不是 Racket 中的“鼓励”风格。
.rktd 文件扩展名用于仅将 data 编码为 s 表达式而非代码的文件。不应要求或加载这些文件(不应将它们执行作为代码)。但是,其他程序使用它们使用write 在文件系统上存储数据,并在以后使用read 读取数据。它的用途与.sexp 文件或.json 文件相同,只是纯数据。
【讨论】:
.rktl 和.rkts 可以互换吗?
.rktl 用于加载脚本,但实际上我以前从未见过 .rkts 在实际代码中使用过。
.rkts 文件。所以如果它是一个旧的扩展,或者如果其他人使用它来生成 Racket 代码,或者你正在考虑类似rktc,它是球拍预处理的 c 代码,我不会感到惊讶。
.rkts 用于documentation。