Previous Page
Next Page

12.7. Creating References to Variables

You can't make a reference to a local variable. Well, you can, but if you try to use it you'll get a mysterious error. For example:

local x
set x to {1, 2, 3}
set y to a reference to x
get item 1 of y -- error: Can't make item 1 of x into type reference

But a reference can itself be stored in a local variable:

local y
set x to {1, 2, 3}
set y to a reference to x
get item 1 of y -- 1

You can make a reference to anything that isn't a local, such as a global or a top-level entity:

script myScript
    property x : 5
    set y to a reference to x
    set contents of y to y + 1
    display dialog x
end script
run myScript -- 6

That works just as well from outside of the script object:

script myScript
    property x : 5
    display dialog x
end script
tell myScript
    set y to a reference to its x
    set contents of y to y + 1
    run -- 6
end tell


Previous Page
Next Page