rust - 在 Rust 中,我如何才能最好地构建项目以使用包含公共可调用函数的文件?
问题描述
我刚刚开始学习 Rust 并编写了几个简单的测试程序。我现在开始写一个库函数。这个库函数有两个示例程序,每个示例程序使用不同的参数调用另一个文件中的相同函数。这两个程序连同可调用函数最初都在“示例”目录中。但是,使用“cargo build”它失败说可调用函数文件需要一个“main()”函数。最终我在“examples”下创建了另一个文件夹“functions”并将可调用函数复制到该文件夹,然后“Cargo build”然后成功了。
The directory structure is now:
├─── format_int:
├─── examples:
| └─── test_format_int_1.rs
| └─── test_format_int_2.rs
| ├─── functions:
| └─── fn_test_format_int.rs
├─── src:
└─── lib:
└─── format_int.rs
除了使用的参数之外,示例程序相同。即:
文件:test_format_int_1.rs:-
#[path = "./functions/fn_test_format_int.rs"] mod fn_test_format_int;
const TF_DISPLAY: bool = false;
fn main() {
fn_test_format_int::fn_run(TF_DISPLAY);
}
文件:fn_test_format_int.rs:
use std::str;
pub fn fn_run(tf_display: bool) {
print!("Test formatting of integers\n");
.....
//---- CALL THE FORMAT LIBRARY FUNCTION ----//
let s_result: String = format_int::format_int(s_mask, i_num);
我确实查看了其他问题和答案,但我找不到任何专门处理上述问题的东西。我还尝试了其他可能的解决方案,但也许它们的结构不正确。
这是在另一个文件(单独的文件夹)中使用可调用函数的正确方法,还是有办法向“Cargo build”指示“.rs”文件包含可调用函数并且不需要 main() 函数?
解决方案
推荐阅读
- javascript - protobuf.js 如何为浏览器生成静态 es6 模块?
- marklogic - 是否可以为 marklogic 中的特定 xquery 端点跳过身份验证?
- ruby-on-rails - 用于抓取 Instagram 关注者的单元测试
- c# - ChangeLog OriginalValue 与 EF Core 更新实体上的 CurrentValue 相同
- mongodb - 使用 MongoDB 聚合获取组中的百分比
- c# - 当属性可以为空时,@Html.DisplayNameForModel() 不起作用
- php - PHP:如何将 in_array 与正则表达式字符串数组一起使用?
- typescript - 将泛型值推送到 Typescript 中泛型类中的泛型列表
- javascript - 在 html 中的 onclick 方法上将 Rails 对象值设置为 true
- aws-cdk - AWS CDK 代码管道如何部署到 Elastic Beanstalk?