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】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |