==~ 布尔运算符是做什么的?
What does ==~ boolean operator do?
这个 ==~
布尔运算符在下面的代码中做了什么?
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']
这个 ==~
布尔运算符在下面的代码中做了什么?
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']