加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy实现Ruby的case .. when表达式

发布时间:2020-12-14 17:09:20 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 def match(subject,closure) { def whenMap = [:],otherwise = null closure.when = { map - whenMap.putAll(map) } closure.otherwise = { otherwise

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

def match(subject,closure) {   
    def whenMap = [:],otherwise = null  
    closure.when = { map -> whenMap.putAll(map) }   
    closure.otherwise = { otherwise = it }   
    closure.resolveStrategy = Closure.DELEGATE_FIRST   
    closure()   
    def result = whenMap.find { condition,value -> subject in condition }   
    return result ? result.value : otherwise   
}   
  
def manufacturer(car) {   
    match(car) {   
        when "Focus":     "Ford"  
        when "Navigator": "Lincoln"  
        when "Camry":     "Toyota"  
        when "Civic":     "Honda"  
        when "Patriot":   "Jeep"  
        when "Jetta":     "VW"  
        when "Ceyene":    "Porsche"  
        when "Outback":   "Subaru"  
        when "520i":      "BMW"  
        when "Tundra":    "Nissan"  
        otherwise         "Unknown"  
    }   
}   
  
println "The Patriot is made by ${manufacturer('Patriot')}"  
println "The QQ is made by ${manufacturer('QQ')}"  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读