来自处理程序的 Applescript 中断循环

Applescript break loop from handler

是否可以从处理程序内部打破处理程序外部的循环?

喜欢在 handlers/functions 之一中打破这种重复形式吗?

repeat
    set varChosenType to setsessionid()
    set varKlasseIDliste to readCSVfile(varChosenCSV, "KlasseIDliste")
    set varElevnavnIDliste to readCSVfile(varChosenCSV, "ElevnavnIDliste")
    set varChosenKlasse to ChooseKlasse(varKlasseIDliste)
    set varChosenklassenames to makelistChosenKlasse(varChosenKlasse, varElevnavnIDliste)
    set varChosenElev to chooseElevID(varChosenklassenames, varChosenKlasse)
    showChosenElev(varChosenElev, varChosenKlasse, varFolders)
end repeat

例如你可以return missing value万一失败然后退出重复循环

repeat
    set varChosenType to setsessionid()
    set varKlasseIDliste to readCSVfile(varChosenCSV, "KlasseIDliste")
    set varElevnavnIDliste to readCSVfile(varChosenCSV, "ElevnavnIDliste")
    set varChosenKlasse to ChooseKlasse(varKlasseIDliste)
    if varChosenKlasse is missing value then exit repeat
    set varChosenklassenames to makelistChosenKlasse(varChosenKlasse, varElevnavnIDliste)
    set varChosenElev to chooseElevID(varChosenklassenames, varChosenKlasse)
    showChosenElev(varChosenElev, varChosenKlasse, varFolders)
end repeat

on ChooseKlasse(klasseListe)
   -- do things
   if condition is true then return klasse  
   return missing value
end