首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opa匹配模式OR

Opa匹配模式OR
EN

Stack Overflow用户
提问于 2012-04-26 11:38:34
回答 1查看 152关注 0票数 3

我正在编写我的第一个Opa应用程序。我正在尝试设置url处理的匹配。代码如下:

代码语言:javascript
复制
function start(url) 
{
    match (url)
    {
        case {path:[] ...}: Resource.page("Home", home())
        case {...}: Resource.page("nofindy", nofindy())
    }
}
Server.start(Server.http, { dispatch: start })

它的工作方式很不错,但现在我希望能够进行同义映射。例如,我希望不仅可以访问主页,还可以访问/home。

有没有一种简明的方法可以做到这一点,可能是使用OR运算符,或者我需要设置两个触发相同资源的单独案例?

tl;dr:有没有更好的方法来写下面的代码片段:

代码语言:javascript
复制
case {path:[] ...}: Resource.page("Home", home())
case {path:["home"] ...}: Resource.page("Home", home())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-26 16:41:34

您应该使用custom而不是dispatch

代码语言:javascript
复制
function start(v){
   Resource.page(v, <h1>{v}</h1>)
} 

urls = parser {
   case ("/" | "/home") : start("home")
   case .* : start("other")
}

Server.start(Server.http, {custom: urls})

在这里了解更多关于解析器的信息:http://doc.opalang.org/manual/The-core-language/Parser

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10326881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档