2017-01-13 6 views
0

Возможно ли, чтобы på нарушил цикл за пределами обработчика, изнутри обработчика?Applescript break loop from 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 

ответ

0

Например, вы можете вернуть missing value в случае выхода из строя, а затем выйти из цикла REPEAT

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 

 Смежные вопросы

  • Нет связанных вопросов^_^