12個rust殺手級程式庫
這個作者介紹了一下新手應該知道的庫
3D Ascii 藝術產生器
https://preview.redd.it/p3nlqakx2bt21.gif
一位群友不了解編譯器的教導,Mike大幫幫解釋
请问,以这样的方式来获取枚举内部的值,这个state得到的是一个引用,那么该值的所有权属于谁?是枚举实例a吗?
Rust语言社区Mike 2019/04/19 07:43:24
是,因为他是copy的,复制了一份
求学上 2019/04/19 09:46:28
谢谢,请问您这里的copy指的是?我认为是Coin::Quarter(state),这里声明了一个临时
变量state,之后state借出Coin.Quarter的具体值。最后返回该引用。也就是所有权一直是
没有改变的。之后,这里说,Quarter的参数是一个US_State的实例,那么这里是发生
了移动吗?也就是Coin.Quarter的值的所有权被state夺走了?这里不是很明白
Rust语言社区Mike 2019/04/19 09:50:27
@求学上 编译器的意思是你传错了,上面枚举直接传枚举进去就行了,不需要传借用
Rust语言社区Mike 2019/04/19 09:51:10
能否把编译截图完整?
求学上 2019/04/19 09:51:18
是的,我之前是传枚举进去。确实取出了值数据。稍等
求学上 2019/04/19 09:51:40
Rust语言社区Mike 2019/04/19 09:53:35
那就是写错了啊
求学上 2019/04/19 09:54:16
因为不是很明白这里的所有权转移,所以我在做测试。按照我目前所理解的,
Quarter(state)这里,是发生了移动,match返回值时我既可以返回一个引用或者再次发生
移动。但是如果按照我这样理解的话,取出这个值会使得原来的数据丧失所有权而不可用。
Rust语言社区Mike 2019/04/19 09:54:52
&Coin::Quarter(state) 这样应该也可以
求学上 2019/04/19 09:55:36
嗯嗯,我再试试。不知道我上面的理解对不对/小纠结
Rust语言社区Mike 2019/04/19 09:56:06
你拿这个例子测试所有权转移没有用
Rust语言社区Mike 2019/04/19 09:56:07
因为这个枚举是Copy的
求学上 2019/04/19 09:56:28
!enum居然是copy的/幽灵喵喵喵???
求学上 2019/04/19 09:56:47
/笑哭我没问题了。谢谢你/小纠结
Rust语言社区Mike 2019/04/19 10:01:28
/小開心
求学上 2019/04/19 10:01:39
/小纠结
Rust语言社区Mike 2019/04/19 10:03:07
@求学上 不一定是Copy的,要看他的组成里面有没有用堆
Rust语言社区Mike 2019/04/19 10:03:27
全标量类型组成的话,就是Copy的
求学上 2019/04/19 10:05:43
嗯嗯,也就是说这种复合类型,struct,enum,是否是copy取决于其内部成员是否都是标量?
Rust语言社区Mike 2019/04/19 10:06:15
对,准确
求学上 2019/04/19 10:06:24
谢谢你/托脸
Rust语言社区Mike 2019/04/19 10:06:32
默认实现是这样
Rust语言社区Mike 2019/04/19 10:06:37
没事,不客气
求学上 2019/04/19 10:06:45
/呲牙/托脸
進化島:噁心遊戲
有一位網友使用Amethyst實作了進化島
如果不怕噁心的話可以來學習
挑戰取得共識
在rust中大家常常會希望找到一個最好的寫法
但常常會有衝突
讓我們想像一個場景,當你有兩個選擇A, B
轉換為我的選擇A,他的選擇B時
一旦發生,就很難理性的做選擇
來看看作者怎麼探討這個問題吧
Rust 1.34 版 hello world
跟C語言一樣精簡 Read more
async-timer
非同步計時器
From 日报小组 @Damody
日报订阅地址:
评论区
写评论还没有评论