&variable
在模式或閉包參數中使用時的含義是什麼?參數/模式中'&variable'的含義
for &code in self.exit_code.iter() { ... }
let mut new_seps = do seps.iter().fold(~[]) |result, &next| { ... }
在這裏,我們有for
循環和封閉定義&code
和&next
。 &
是什麼意思?爲什麼我們不能簡單地使用code
和next
,沒有&符號?它與模式匹配中的ref
限定符有關嗎?它是否與&
self
參數在特徵實現中相關?
我在current Rust reference manual和tutorial中都找不到這種語法。目前我認爲這是某種隱含的解引用(如果我在模式中省略了&
,則出現錯誤消息,但是我不確定)。
我得說,借用的意思是「捕獲指針「而不是」按值「。 –
@KerrekSB,這是否意味着如果在'|結果中,next |''next'具有類型'T',那麼在'| result,next |''next'具有'&T'類型? –
我會這麼想,但我也不確定。正如你所說,手冊在這方面有點缺乏......但這應該很容易嘗試,但! –