【发布时间】:2011-02-19 13:24:42
【问题描述】:
scala 中如何定义“关键字优先级”?
考虑这段代码:
for(i <- 1 to 10) yield i
没关系,我得到一个从 1 到 10 的 Seq,但是当我尝试匹配之后:
for(i <- 1 to 10) yield i match {case x => x.head}
出现编译错误:error: value head is not a member of Int。
我可以将for ... yield 括在括号中以使其优先:
{for(i <- 1 to 10) yield i} match {case x => x.head}
但我仍然想知道第二个示例代码是如何解释的。我希望第二个示例也能正常工作,而无需用括号括起来。
谁能给我解释一下或指出规范中正确的章节?
【问题讨论】:
标签: scala pattern-matching yield