问题标签 [rust-0.8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2367 浏览

sqlite - 这个 Rust 代码可以在没有“match”语句的情况下编写吗?

linuxfood 为 sqlite3 创建了绑定,对此我表示感谢。我刚开始学习 Rust (0.8),我试图准确理解这段代码在做什么:

我基本上明白它在做什么。它正在尝试获取数据库连接并测试错误。我不明白它是如何做到的。

为了更好地理解它,我想在没有match语句的情况下重写它,但我没有这样做的知识。那可能吗?sqlite::open()返回两个变量,还是只返回一个?

match如果没有这个语句,这个例子怎么能有不同的写法呢?我并不是说这是必要的或可取的,但它可以帮助我学习语言。

0 投票
1 回答
592 浏览

function - 在闭包内调用堆上函数参数

我正在使用 rust 0.8。

为什么我可以这样做:

但不是这个:

第二个失败,“错误:无法移出堆闭包中捕获的外部变量”。是什么让调用函数特别?

是否担心内部函数可能会对静态分析无法捕获的盒装函数做一些肮脏的事情?

0 投票
1 回答
6215 浏览

rust - 为什么使用 Rust 将可变结构传递给函数会导致不可变字段?

我在 Win8-64 上使用 0.8 学习 Rust。我有一个正在处理的测试程序,其中处理参数输入的函数返回了一个包含这些参数的结构。那行得通。然后我更改了程序以将 &struct 传递给函数,现在我得到一个编译器错误,我试图将其分配给不可变字段。

我应该如何将指针/引用传递给结构以防止此错误?

导致错误的代码(我尝试了一些变体):

对函数中结构字段的所有赋值都会导致编译时出错。compile 导致的错误示例:

0 投票
1 回答
318 浏览

rust - 如何检测错误而不是让这个 Rust 程序中止?

在 win8 上使用 Rust 0.8 运行以下测试程序(如下)时,如果我同时运行该程序的两个实例,当第一个程序等待输入(第 12 行)时,第二个程序中止(第 7 行)并出现致命错误下方留言。

为了防止致命错误,我假设我需要使用 match 语句,但是我对类型系统和使用 match 还不够了解,但我已经尝试过了。

在这种情况下,如何让下面的程序优雅地失败而不是中止?

示例测试程序:

第二个程序实例显示的致命错误:

0 投票
1 回答
17764 浏览

rust - 如何在 Rust 中读写文本文件?

笔记:这个问题是关于 Rust 1.0 之前的问题,因此已经过时了。有关最新答案,请参阅链接的副本。

我正在Win8上使用Rust 0.8编写一个测试程序,我需要使用数组/向量/列表来读取和写入程序使用的一些参数到/从文本文件中访问各个行。

在花了相当多的时间试图找到有效的东西之后,我能找到的最接近的是如下:

如果文件存在,则上述“有效”。

有人可以告诉我一个如何做我所说的要求的例子吗?

0 投票
2 回答
1760 浏览

arrays - 如何在 rust 0.8 中将 Zip 转换为数组?

文档似乎表明将两个迭代器压缩在一起后,您可以将它们变成一个数组,.from_iterator()但是当我尝试这样做时,锈报告:

有人可以提供将 Zip 转换为数组的 rust 0.8 的工作示例代码吗?

0 投票
3 回答
14996 浏览

arrays - 如何从函数返回拥有的数组?

我是一个 Rust 新手,试图通过玩它来找出语言。我在尝试从函数返回数组时遇到了一些问题:

这当然会因以下错误而导致编译失败:

如果此代码示例看起来不正确,我要做的就是从已实现的结构中拉出一个数组。借来的指针并不重要,这只是我试图存储数据的方式。

关于如何正确提取我的数组的任何提示?

顺便说一句,我正在使用 Rust 0.8