第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用非文字模式時(shí),為什么此匹配模式無(wú)法到達(dá)?

使用非文字模式時(shí),為什么此匹配模式無(wú)法到達(dá)?

Git
Smart貓小萌 2019-11-03 04:04:35
以下代碼(游樂(lè)場(chǎng))let max_column = 7;edge = match current_column {    0 => Edge::Left,    max_column => Edge::Right,    _ => Edge::NotAnEdge};導(dǎo)致以下警告:warning: unreachable pattern  --> src/main.rs:10:9   |9  |         max_column => Edge::Right,   |         ---------- matches any value10 |         _ => Edge::NotAnEdge   |         ^ unreachable pattern   |   = note: #[warn(unreachable_patterns)] on by defaultmax_column用文字替換變量可以正常工作:let max_column = 7;edge = match current_column {    0 => Edge::Left,    7 => Edge::Right,    _ => Edge::NotAnEdge};_當(dāng)?shù)谝粋€(gè)示例中的任何值都可以達(dá)到時(shí),為什么不可達(dá)current_column != max_column?
查看完整描述

2 回答

?
開(kāi)滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

Rust編程語(yǔ)言解釋了如何match處理表達(dá)式,重點(diǎn)是:


當(dāng)match表達(dá)式執(zhí)行時(shí),它會(huì)按順序?qū)⒔Y(jié)果值與每個(gè)手臂的模式進(jìn)行比較。


在您的示例中,max_column是要綁定的變量的名稱,而不是常量或外部變量。當(dāng)編譯器到達(dá)時(shí)max_column,所有剩余的值都將分配給該匹配臂,從而使后續(xù)的臂不可用。


就您而言,您需要一名比賽后衛(wèi):


let current_column = 1;

let max_column = 7;

edge = match current_column {

    0                    => Edge::Left,

    a if a == max_column => Edge::Right,

    _                    => Edge::NotAnEdge

};

需要注意的是,作為第一近似,a并且_是同樣的事情在這種情況下!在這兩種情況下,匹配的變量都將綁定到一個(gè)名稱(a或_分別綁定),但是任何帶前綴的標(biāo)識(shí)符_都是特殊情況,以用作未使用的變量占位符。


bluss澄清并糾正了這種近似:


_是一個(gè)單獨(dú)的特殊情況,它根本不是變量綁定,但是沒(méi)有一個(gè)!匹配_x將值移入_x,_則不會(huì)這樣。(差異是可以觀察到的。)



查看完整回答
反對(duì) 回復(fù) 2019-11-04
?
拉丁的傳說(shuō)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

另一種選擇是,x => /* the default case, using x */當(dāng)x在任何可見(jiàn)范圍內(nèi)引入名稱時(shí),匹配臂不再成為默認(rèn)情況。這是不一致的,對(duì)我來(lái)說(shuō),也是違反直覺(jué)的。

查看完整回答
反對(duì) 回復(fù) 2019-11-04
  • 2 回答
  • 0 關(guān)注
  • 462 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)