Import 是否有一种方法可以导入一个模块,但不知道它的目录而知道它的文件名?
我正在写一个用Rust玩AI的游戏。策略模块包括一个文件夹,其中包含处理特定情况的标准化模块。我希望能够创建一个新的模块,每当我想到一个新的情况,我想处理 我可以在Node中完成这项工作。例如,在MVC设置中,您可能有Import 是否有一种方法可以导入一个模块,但不知道它的目录而知道它的文件名?,import,module,rust,Import,Module,Rust,我正在写一个用Rust玩AI的游戏。策略模块包括一个文件夹,其中包含处理特定情况的标准化模块。我希望能够创建一个新的模块,每当我想到一个新的情况,我想处理 我可以在Node中完成这项工作。例如,在MVC设置中,您可能有 ├── src ├── 控制器 ├── index.js └── ... ├── 模型 ├── index.js └── ... └── 意见 ├── index.js └── ... 使用包含以下内容的controllers/index.js文件 //////////////
├── src
├── 控制器
├── index.js
└── ...
├── 模型
├── index.js
└── ...
└── 意见
├── index.js
└── ...
使用包含以下内容的controllers/index.js文件
////////////////////////////////////////////////////////////////////////////////
//进口
////////////////////////////////////////////////////////////////////////////////
//模型
const models=require(“../models”);
//模块
常数fs=要求('fs');
const path=require('path');
////////////////////////////////////////////////////////////////////////////////
//模块
////////////////////////////////////////////////////////////////////////////////
常量控制器={};
const basename=path.basename(_文件名);
fs.readdirSync(uu dirname)
.filter(文件=>{
返回(file.indexOf('.')!==0)&&
(文件!==basename)&&
(file.slice(-3)='.js');
})
.forEach(文件=>{
控制器[file.slice(0,-3)]=需要(`./${file}`)(模型);
});
我可以在Rust中实现类似的功能吗?不,无法在运行时导入模块;Rust是一种静态编译语言 您可以做的最接近的事情是编写枚举文件系统的语句,并生成适当的
mod
和/或use
语句
require(`./${file}`)(模型)
Rust也没有导入的“默认导出”,因此这种模式不可能存在。您必须从模块中调用一个特定命名的函数
另见:
mod
和/或use
语句
require(`./${file}`)(模型)
Rust也没有导入的“默认导出”,因此这种模式不可能存在。您必须从模块中调用一个特定命名的函数
另见: