我目前正在学习 Rust,为此我想创建自己的箱子并使用它。然而,Rust 找不到这个箱子。
\n我有以下文件结构:
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80minimal\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Cargo.toml\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80main.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80util\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80win\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Cargo.toml\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80lib.rs\nRun Code Online (Sandbox Code Playgroud)\n在最小文件夹中文件夹中我有我的主要项目。它看起来像这样:
\n[package]\nname = "minimal"\nversion = "0.1.0"\n[dependecies]\nwin = { path = "../util/win"}\nRun Code Online (Sandbox Code Playgroud)\nextern crate win; // ERROR: "Can\'t find crate for \'win\' rustc(E0463)"\nfn main() {\n println!("Hello, World!");\n}\nRun Code Online (Sandbox Code Playgroud)\n我的库位于win文件夹中如下所示:
\n[package]\nname = "win"\nversion = "0.1.0"\nRun Code Online (Sandbox Code Playgroud)\npub type TestType = String;\nRun Code Online (Sandbox Code Playgroud)\n我的第一个假设是我在指定Cargo.toml依赖项中的路径时犯了一个错误。所以我试着稍微扭动它,但似乎不起作用。
\n铁锈报告
\n\n找不到“win” …
我想使用这个库: https: //github.com/stepfunc/dnp3,但它不在 crates.io 上,它只有一个存储库,我无法实现它。我试图将它添加到我的Cargo.toml喜欢中[dependencies] dnp3 = "0.9.1",但它说它不存在,而且实际上它没有板条箱。在存储库中,它有一些示例,dnp3/example就use dnp3;好像它是一个板条箱一样。
我该如何使用这个?
我花了一些时间尝试使用Crate - crate.io - 并且第一印象很好.如果我的理解是正确的,Crate是一个NoSQL DB,它提供了一个相当简洁的SQL接口来操作和查询数据库.太好了!
但是,在这个阶段,我有更多的问题而不是答案.这里有三个首发
这些问题可能不完全"适合"SO格式,但考虑到年轻的箱子,我希望它们仍然被认为是可接受的.
我正在使用 Rust 1.35.0 来尝试一些 Rust 示例,但我无法编译它,因为我不断收到以下消息:
error[E0463]: can't find crate for `core`
Run Code Online (Sandbox Code Playgroud)
我跑了rustc --explain E0463,我看到以下消息:
You need to link your code to the relevant crate in order to be able to use it
(through Cargo or the `-L` option of rustc example). Plugins are crates as
well, and you link to them the same way.
Run Code Online (Sandbox Code Playgroud)
这是我的 Cargo.toml:
[package]
name = "sensor-node"
version = "0.1.0"
authors = ["joesan <email@gmail.com>"]
edition = "2018"
[dependencies]
dwm1001 = "0.1.0"
panic-halt = "0.2.0" …Run Code Online (Sandbox Code Playgroud) 我一直试图在Giant Swarm上建立一个工作箱集群已经有一段时间了,但到目前为止还没有真正成功.
以下是我到目前为止的尝试:
使用具有两个组件的单播,每个组件4300通过url 公开端口.这导致每个组件在发现间隔中接收消息(默认情况下每30秒).不幸的是,Giant Swarm只支持HTTP其url,因此所有消息都是来自HTTP组件发送的错误消息.
使用具有两个组件的单播并尝试通过它们发现它们IPs.我将Giant Swarm依赖项从一个组件设置为另一个组件(不支持循环依赖项).我无法让这个工作,因为Giant Swarm不允许我在创建docker容器之前运行脚本(在此博客文章中用于在google云平台上运行crate)并且docker不支持双向链接.
在这一点上我没有想法,是否有关于板条箱或巨型群的遗漏?我到目前为止看到的类似工作的唯一例子是我上面链接的博客文章,它使用了我无法在Giant Swarm上使用的机制.
我将不胜感激任何关于如何使这项工作或想法朝着正确方向发展的意见.
在这本书中 - Rust By Example,第 11 章:
crate 是 Rust 中的一个编译单元。每当 rustc some_file.rs 被调用时,some_file.rs 被视为 crate 文件。
根据这本书,源文件怎么样?
编译模型以称为 crate 的工件为中心。每次编译都以源代码形式处理单个 crate,如果成功,则生成一个二进制形式的单个 crate:可执行文件或某种库。
Rust 编译器总是以单个源文件作为输入被调用,并且总是产生单个输出包。该源文件的处理可能导致其他源文件作为模块加载。源文件的扩展名为 .rs。
根据这个说法?我认为:
源文件(.rs 文件)--> 对应的 crate
就像:.java --> .class
现在我无法理解这个问题;我都在海上
我已成功在crate上安装了elasticsearch head插件,可以访问其Web UI,但无法连接.我希望能够使用它来可视化底层elasticsearch商店中的数据.有没有办法直接访问elasticsearch API,以便头部可以工作?
我一开始以为它不是关系数据库,但是当我读到我可以连接表并且它写在他们的网站https://crate.io/overview/(参见用例)之后,我不确定。
尤其是我对这句话感到困惑:
CrateDB 基于 NoSQL 架构,但具有标准 SQL。
是否真的可以使用Crate Blob表上传图像.我发现这个链接(https://crate.io/docs/reference/blob.html)能够在blob表上上传文本.
同样,我希望将图像上传到包装箱Blob表.我找不到这样做的方法.有人可以帮忙吗?
谢谢,拉梅什
我有一个查询,该查询命中具有数组列的表。在处理记录时,我想获取数组列的数据并将其视为字符串数组并获取第一个值。我以为我可以做以下事情:
while (resultSet.next()) {
val clients = resultSet.getArray("clients")
println(clients[0])
}
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我得到了错误:
错误:(34,3)Kotlin:未解决的参考。由于接收者类型不匹配,以下候选者都不适用:@InlineOnly公共运营商inline fun <@OnlyInputTypes K,V> Map.get(key:Int):??? 在kotlin.collections中定义@SinceKotlin公共运算符fun MatchGroupCollection.get(name:String):MatchGroup吗?在kotlin.text中定义
getArray返回类型,Array!所以我假设我可以按索引访问值。我需要做什么才能访问此值数组?