我有点筹码。我尝试按END
和BEGIN
等文件计数。如果我在fille中发现其中一个返回true,则返回false。如果BEGIN
工作正常,则首先输入Word,但它不会返回boolen。如果END
没有工作,请单独下班。为什么?任何建议将不胜感激。
import groovy.io.FileType
def splitStatements() {
def wordCount_END = 0
def wordCount_BEGIN = 0
def dir = new File("C:\\Groovy\\Files")
dir.eachFileRecurse (FileType.FILES) { file ->
Scanner s = new Scanner(file)
while (s.hasNext()) {
if (s.next().equals('BEGIN')){
wordCount_BEGIN++
}else if (s.next().equals('END')){
wordCount_END++
}
if (wordCount_END == 0 && wordCount_BEGIN == 0){
//how return "false"
}else if (wordCount_END != 0 && wordCount_BEGIN != 0){
//how return "true"
}
}
println wordCount_END
println wordCount_BEGIN
}
}
答案 0 :(得分:1)
"true"
是一个字符串,true
是布尔dir.eachFileRecurse (FileType.FILES) { file -> return "true" }
将从eachFileRecurse
anf的当前周期退出,而不是从方法splitStatements
退出BEGIN
&文件中END
个单词,为什么你在找到第一个之后尝试返回?