6 Modules -- 模块

来源:互联网 发布:找淘宝网店合作人 编辑:程序博客网 时间:2024/06/06 14:05

原文:模块

6.1 Module Basics

每一个Racket模块通常驻留在自己的文件中. 例如,假设文件”cake.rkt”包含以下模块:

“cake.rkt”

#lang racket(provide print-cake); draws a cake with n candles(define (print-cake n)  (show "   ~a   " n #\.)  (show " .-~a-. " n #\|)  (show " | ~a | " n #\space)  (show "---~a---" n #\-))(define (show fmt n ch)  (printf fmt (make-string n ch))  (newline))

其它模五可以导入”cake.rkt”以使用print-cake函数

6.1.1 Organizing Modules

“cake.rkt” and “random-cake.rkt”例子表明了一般的使用module组织程序的方法:放置所有的模块文件到一个单独的文件夹(可能是子文件夹),然后让模块之前通过相对路径相互引用.

这里写图片描述

6.1.2 Library Collections

6.1.3 Packages and Collections

6.1.4 Adding Collections

6.2 Module Syntax

6.2.1 The module Form

6.2.2 The #lang Shorthand

6.2.3 Submodules

6.2.4 Main and Test Submodules

6.3 Module Paths

6.4 Imports: require

6.5 Exports: provide

6.6 Assignment and Redefinition