2013-09-03 6 views
4

Dans applescript pouvez-vous utiliser une variable qui a été définie dans un autre script? Je pense que vous auriez quelque chose comme:Obtenir une variable d'un autre script

set test to (load script "/tmp/a.scpt") 

Mais comment voulez-vous choisir une variable spécifique?

Répondre

5

Vous pouvez utiliser des variables de propriété dans votre script externe

par exemple, a.scpt:

property foo : "hello world" 

... et dans le script d'appel que vous utilisez le style "x de n" de référencement.

set test to (load script "/tmp/a.scpt") 
display dialog (the foo of test) 

Vous pouvez également accéder au résultat renvoyé par un gestionnaire dans le script externe.

par exemple, a.scpt:

on getChoice() 
    set res to choose from list {"one fish", "two fish", "red fish", "blue fish"} 
    return res 
end getChoice 

... et dans le script appelant:

set choice to getChoice() of test 
+0

J'ai cela dans un gestionnaire et il dit « Expected « fin » mais trouvé « propriété"." – Qwertie

+0

@ Les variables de propriété @ qwertyk31 doivent être déclarées en dehors de tous les gestionnaires, c'est mon estimation de votre problème. Ils sont comme des variables globales donc tout le code dans le même script peut y accéder. Voir ceci pour une décomposition des types var https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/conceptual/ASLR_variables.html – adamh

+0

Lorsque je mets la propriété var en dehors du gestionnaire, le script s'exécute mais ce dont j'ai besoin est d'utiliser un gestionnaire pour exécuter une "liste de choix" et obtenir le résultat dans le script original – Qwertie

Questions connexes