【问题标题】:Applescript TRY and IF statementsApplescript TRY 和 IF 语句
【发布时间】:2016-10-30 10:45:09
【问题描述】:

好的,所以我在让它工作时遇到了一些麻烦。 一切正常,只要 varNumberCR2 大于 varNumberXMP。

将值设置为以下,我得到了这些结果:

varNumberCR2: 10
varNumberXMP: 2
结果:CR2:10 / XMP:2 / 比率:5,0

varNumberCR2: 10
varNumberXMP: 0
结果:CR2:10 / XMP:没有 XMP 文件 / 比率:无法计算

varNumberCR2: 0
varNumberXMP: 0
结果:CR2:没有 CR2 文件/XMP:没有 XMP 文件/比率:无法计算

但是,对于以下值,varNumberCR2 不会设置为“无 CR2 文件”

varNumberCR2: 0
varNumberXMP: 5
结果:CR2:0 / XMP:5 / 比率:0,0

怎么了?

set varNumberCR2 to {"0"}
set varNumberXMP to {"4"}

try
set varRatio to ((round ((varNumberCR2 / varNumberXMP) * 10)) / 10)
on error
if varNumberCR2 < "1" then
    set varNumberCR2 to {"No CR2 files"}
end if
if varNumberXMP < "1" then
    set varNumberXMP to {"No XMP files"}
end if
set varRatio to {"Not possible to calculate"}
end try

display dialog {"CR2:   " & varNumberCR2 & return & "XMP:   " & varNumberXMP & return & "Ratio: " & varRatio}

【问题讨论】:

    标签: applescript


    【解决方案1】:

    记住要遵循数学的基本规则。 你不能除以零。 您可能需要为仅为零的条目添加例外。

    【讨论】:

    • 我认为这就是'on error'的用途?如果“set varRatio”命令的结果出现错误,那么它将执行“on error”段落中的内容...
    • 啊啊啊,我才明白你的意思,并修复了脚本!谢啦! :-)
    猜你喜欢
    • 1970-01-01
    • 2016-11-25
    • 2018-01-27
    • 2019-08-21
    • 2022-01-21
    • 2023-04-04
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    相关资源
    最近更新 更多