İlk senaryoda, tüm işleyicileri ve snippet'leri içeren bir komut dosyası var. Bu betiğin dosya adı “Jimz_Handlerz.scpt” dır ve burada bulunur… / Kullanıcılar / Smokestack / Library / Script Kütüphaneleri
İşleyiciyi yeni bir AppleScript dosyasından çağırmak, komut dosyası kitaplığımı (satır 1) bildirmemi gerektiriyor ve ardından işleyiciyi ikinci satırda istediğim zaman arayabilirim. Bunun gibi:
use myHandlerz : script "Jimz_Handlerz.scpt"
myHandlerz's get_fileExtensions()
Bu sonraki senaryoda, ilk örnekle aynı dosyayı yüklemek için “script komutunu” komutunu kullanıyorum ancak bu dosya masaüstünde bulunuyor
property jimzHandlerz : load script ¬
(alias "Macintosh HD:Users:Smokestack:Desktop:Jimz_Handlerz.scpt")
jimzHandlerz's get_fileExtensions()
Bu, her iki farklı senaryodan çağıracağım komutu içeren asıl işleyicidir.
on get_fileExtensions()
tell application "Finder"
set theDownloadsfolder to (path to downloads folder)
set theFiles to the name extension of every file of theDownloadsfolder
end tell
AST copy list theFiles without keeping duplicates -- Needs AppleScript Toolbox 2_0_8.osax Scripting Addition in /Users/"Name"/Library/ScriptingAdditions
end get_fileExtensions
Öyleyse sorum şu, senaryo 1'i kullanmayı tercih edeceğim durumlar var mı ve senaryo 2'nin daha iyi olacağı durumlar var mı?
Güncelleştirme:
İşte size küçük bir bilgi harikası: Asıl sorumun ilk örneğindeki gibi bir komut dosyası kitaplığı komut dosyasından ya da komut dosyası paket dosyasından işleyicileri çağırma senaryosunu kullanma. kitaplık, bir komut dosyası paketidir ve “Kaynak Kitaplığı” klasörünün içine “Kod Kitaplıkları” adı verilen “Kaynak Kodları” adında bir dosya ekleriz, “Dosya Kodları” klasöründeki dosya bulunamıyorsa, dış işleyicilerimizi çağırıyoruz. , daha sonra bu komut dosyası bir hata atmaz, çünkü kaynak klasörünü komut dosyası kitaplıkları için de arar.