AppleScript循环问题

时间:2013-08-22 13:53:08

标签: loops applescript

我是正在学习AppleScript的学生,我在循环某个特定命令时遇到困难,有人可以帮助我吗?代码如下,我的目的是仅在用户输入无效值时循环。

我感谢任何帮助:)

非常感谢 安德鲁

    display dialog "Choose a number from 1-10" default answer "Only number less than 11" buttons {"Ok"} default button 1

try

    set theAnswer to (text returned of result) as number

on error

    display dialog "You didnt put in any numbers" buttons {"Ok"} default button 1
    return

end try
if theAnswer < 1 then
    set theTest to 0
else if theAnswer < 11 then
    set theTest to 1

else
    set theTest to 0
end if
if theTest = 0 then
    display dialog "Invalid Input" buttons {"Ok"} default button 1

else
    display dialog "You chose the number " & theAnswer buttons {"Ok"} default button 1
end if

1 个答案:

答案 0 :(得分:1)

尝试:

repeat
    set theAnswer to text returned of (display dialog "Choose a number from 1-10" default answer "Only number less than 11" buttons {"Ok"} default button 1)
    try
        set theAnswer to theAnswer as number

        if theAnswer ≤ 10 and theAnswer ≥ 1 then
            display dialog "You chose the number " & theAnswer buttons {"Ok"} default button 1
            exit repeat
        else
            display dialog "Invalid Input" buttons {"Ok"} default button 1
        end if

    on error
        display dialog "You didnt put in any numbers" buttons {"Ok"} default button 1
    end try
end repeat

beep 3