grails - ==〜 bool 运算符是做什么的?

标签 grails groovy operators

这个==~ bool(boolean) 运算符在下面的代码中做什么?

springcacheCacheManager.cacheNames.each { name ->
    if (cacheNamePatterns.any { name ==~ it }) {
        flushNamedCache(name)
    }
}

最佳答案

match operator执行正则表达式匹配:

def regex = "[A-Z]{2,}"

assert "wot" !=~ regex
assert "A" !=~ regex
assert "ABC" ==~ regex

在您的代码中,如果cacheName与任何cacheNamePatterns匹配,它将被刷新:
def cacheNames = ['html', 'res/images', 'res/js']

def cacheNamePatterns = ['res/.*']

def flushedCaches = []


cacheNames.each { name ->
    if (cacheNamePatterns.any { name ==~ it }) {
        flushedCaches << name
    }
}

assert flushedCaches == ['res/images', 'res/js']

关于grails - ==〜 bool 运算符是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32565037/

相关文章:

java - Grails 中的 Apache james 邮件服务器运行状态

grails - 在 Grails 中连接表

groovy - 在类的所有实例方法中隐式使用 Groovy Category

c# - C# 中的 true 和 false 运算符是什么?

spring - 在 Controller 内部构造时, Autowiring 服务以命令 Grails 中的对象的正确方法

grails - 如果我知道自己的所有数据都不满足该约束,那么在域中更改约束时,我的数据将如何处理?

groovy - 以编程方式获取插件的 Jenkins 配置

grails - ArrayList 上的分页

C++ 对继承类强制执行条件

scala - 奇怪的Scala语法,其中映射Future以便 “==”和 “!=”仅出现一个操作数(而不是两个)