Applescript从处理程序中断循环

时间:2017-01-13 10:07:26

标签: loops applescript handler

是否有可能在处理程序之外打破处理程序之外的循环?

喜欢在其中一个处理程序/函数中打破这个重复形式吗?

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

1 个答案:

答案 0 :(得分:0)

例如,如果发生故障,您可以返回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