Rust 锈蚀E0061:某些(A)与某些(匹配…=>;A)不同
这段代码编译得很好:Rust 锈蚀E0061:某些(A)与某些(匹配…=>;A)不同,rust,match,Rust,Match,这段代码编译得很好: Some(match head.path { "/" => Hello, "/num" => GetNum, p if p.starts_with('/') => HelloName(p[1..].to_string()), _ => PageNotFound }, RecvMode::Buffered(1024), scope.now() + Duration::new(10, 0)) 如果我把它改成 Some(Hello,
Some(match head.path {
"/" => Hello,
"/num" => GetNum,
p if p.starts_with('/') => HelloName(p[1..].to_string()),
_ => PageNotFound
}, RecvMode::Buffered(1024), scope.now() + Duration::new(10, 0))
如果我把它改成
Some(Hello, RecvMode::Buffered(1024),
scope.now() + Duration::new(10, 0))
我明白了
error: this function takes 1 parameter but 3 parameters were supplied [E0061]
为什么??与相同的语义匹配吗
x>0?A:B
?
函数返回值声明为
Option<(Self, RecvMode, Time).
Option问题中的代码无法编译。在GitHub上的示例中,尽管您具有正确的元组构造语法
因此,对于问题中的第一个和第二个示例:在元组值周围添加括号以构造元组:
Some((Hello, RecvMode::Buffered(1024),
scope.now() + Duration::new(10, 0)))
要将元组传递给选项枚举,必须首先构造元组 您问题中的代码无法编译。在GitHub上的示例中,尽管您具有正确的元组构造语法
因此,对于问题中的第一个和第二个示例:在元组值周围添加括号以构造元组:
Some((Hello, RecvMode::Buffered(1024),
scope.now() + Duration::new(10, 0)))
要将元组传递给选项枚举,必须首先构造元组 请提供一个示例,它确保答案真正适合所描述的情况,并且在您的问题中没有输入错误。您确定您的第一个示例已经编译好了吗?链接的示例确实有额外的()
来生成元组。@ChrisEmerson,对不起,它不会编译。我应该删除这个问题吗?但我还没有准备好——你可以在提出问题之前花上所有你想要的时间。所有语法错误都表明您没有花太多时间在问题上。如果你不想花时间问一个好问题,为什么有人要花时间提供一个好答案?请提供一个答案,它可以确保答案真正适合所描述的情况,并且你的问题中没有拼写错误。你确定你的第一个示例已经编译好了吗?链接的示例确实有额外的()
来生成元组。@ChrisEmerson,对不起,它不会编译。我应该删除这个问题吗?但我还没有准备好——你可以在提出问题之前花上所有你想要的时间。所有语法错误都表明您没有花太多时间在问题上。如果你不想花时间问一个好问题,为什么要有人花时间提供一个好答案?请给出一些关于双亲的评论,为什么我需要(())?塔克斯Some(x)
返回一个用x
填充的选项<代码>(a,b,c)
构造一个元组。因此,如果你想要一个用元组填充的选项,你必须首先构造一个元组,然后将它传递给Some
:Some((a,b,c))
请给出一些关于双亲性的评论,为什么我需要(())?塔克斯Some(x)
返回一个用x
填充的选项<代码>(a,b,c)
构造一个元组。因此,如果您想要用元组填充选项
,您必须首先构造一个元组,然后将其传递给Some
:Some((a,b,c))