这个==~
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/