Movatterモバイル変換


[0]ホーム

URL:


codecamp

切片模式

切片模式

如果用户希望匹配一个切片或数组,用户可以使用& 来修饰slice_patterns 功能。

#![feature(slice_patterns)]fn main() {let v = vec!["match_this", "1"];match &v[..] {["match_this", second] => println!("The second element is {}", second),_ => {},}}

advanced_slice_pattern 使用户可以使用.. 来表示切片匹配模式内部的元素任何数目。此通配符仅能为给定的数组使用一次。如果在.. 前有个标识符,切片的结果将会绑定到这个名字。比如:

`#![feature(advanced_slice_patterns, slice_patterns)]fn is_symmetric(list: &[u32]) -> bool {    match list {        [] | [_] => true,        [x, inside.., y] if x == y => is_symmetric(inside),        _ => false    }}fn main() {let sym = &[0, 1, 4, 2, 4, 1, 0];assert!(is_symmetric(sym));let not_sym = &[0, 1, 7, 2, 4, 1, 0];assert!(!is_symmetric(not_sym));} `
盒语法和模式
相关常量
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
关于
介绍

新手入门

学习 Rust

高效 Rust

语法和语义

Nightly Rust

词汇表
相关学术研究

关闭

MIP.setData({'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false},'pageFontSize' : getCookie('pageFontSize') || 20});MIP.watch('pageTheme', function(newValue){setCookie('pageTheme', JSON.stringify(newValue))});MIP.watch('pageFontSize', function(newValue){setCookie('pageFontSize', newValue)});function setCookie(name, value){var days = 1;var exp = new Date();exp.setTime(exp.getTime() + days*24*60*60*1000);document.cookie = name + '=' + value + ';expires=' + exp.toUTCString();}function getCookie(name){var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null;}
[8]ページ先頭

©2009-2025 Movatter.jp