【问题标题】:What is the convention for Racket filename extensions?Racket 文件扩展名的约定是什么?
【发布时间】:2019-03-26 12:32:27
【问题描述】:

.rkt 是“常规”Racket 源代码的常规文件扩展名。在文档中,我还看到使用了 .rktl.rkts.rktl.rkts 是做什么用的,还有我不知道的 Racket 文件扩展名吗?

【问题讨论】:

    标签: racket


    【解决方案1】:

    .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 代码,我不会感到惊讶。
    • @LeifAndersen .rkts 用于documentation
    猜你喜欢
    • 1970-01-01
    • 2015-03-04
    • 2010-09-08
    • 2018-01-18
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    相关资源
    最近更新 更多