Даже если это может привести к моей смерти, я отвечу. Исследование это:
set correctChoice to false
repeat until correctChoice is true -- "is true" is actually unnecessary
--I took this next line out because it's unnecessary - you can put this text in the prompt of the choose file, below
-- display dialog "Select the program"
-- this doesn't need to be (and shouldn't be) in a Finder tell block, so I took that out, too:
set filePath to POSIX path of (choose file with prompt "Select the program")
set myQuery to display dialog "Are you sure this is the program that you have selected?" buttons {"Yes", "No"}
if the button returned of myQuery is "No" then
--there is no repeat loop! Where do you want it? I assume you want the repeat outside of this process
--end repeat
else
set correctChoice to true
end if
end repeat
--maybe do other stuff
Делать то, что я предполагаю, что вы пытались средства положить все это внутри цикла повтора, который останавливается, когда булева переменная установлена истина. Значение if/then либо сохраняет исходное ложное значение логического значения, либо устанавливает его значение true, что позволяет нам оставить цикл повторения. «Обходной путь» - это термин для чего-то, что необходимо для работы с ограничениями или ошибкой на языке. Вам не нужен обходной путь - вам нужно правильно получить код. Начните с простого (!!) и узнайте, как работают различные блоки, прежде чем пытаться заставить код делать то, что вы думаете, что он должен делать.
Спасибо за помощь. У меня есть код, который работает сейчас, и он полностью понимает, что я сделал неправильно. Спасибо, что указали! :) – user7439349
Добро пожаловать. С http://stackoverflow.com/help/someone-answers: «Чтобы отметить ответ как принятый, нажмите галочку рядом с ответом, чтобы переключить его с серых на заполненные». – CRGreen