Вам нужно преобразовать числа в строку, но вместо этого вы можете использовать цикл. Следующий код работает, например:
set FrameCount to 29
set DataList to {12684, 15909, 28841, 46332}
set OffsetString to "Frame Offsets:" & return
repeat with off in DataList
set OffsetString to OffsetString & (off / 1000) & return
end repeat
display dialog "Frame Count: " & FrameCount & return & return & OffsetString
Здесь вы перебираете DataList
с каждым смещением кадра и просто добавляете к OffsetString
. Обратите внимание, что я не делал никакого дополнительного форматирования строки; насколько я знаю, это будет сложно в AppleScript. (Например, 12680
станет "12.68"
вместо "12.680"
, что может или не может быть тем, что вы хотите.) Это не великолепно, но примерно так же элегантно, как вы получите с AppleScript.
Цикл repeat
имеет несколько возможностей; это единственная циклическая конструкция AppleScript, но она поддерживает циклы while, для циклов, циклов foreach и некоторые другие вещи.
repeat while <cond> ... end repeat
и repeat until <cond> ... end repeat
неоднократно запускают свое тело, пока <cond>
не станет истинным или ложным, соответственно.
repeat with <var> from <start> to <end> [by <step>] ... end repeat
многократно запускает тело, увеличивая <var>
на <step>
до тех пор, пока оно не станет больше <end>
(оставив by <step>
по умолчанию by 1
).
repeat <n> times ... end repeat
запускает тело <n>
раз.
repeat with <var> in <list> ... end repeat
повторно запускает тело с <var>
, равным каждому последующему элементу <list>
repeat ... end repeat
- это бесконечный цикл (вы можете оставить его или любой из них с помощью exit repeat
)