ตัวอย่าง 1a
on removeText(searchText, sourceText)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to searchText
set sourceText to text items of sourceText
set text item delimiters of AppleScript to ""
set sourceText to "" & sourceText
set text item delimiters of AppleScript to prevTIDs
return sourceText
end removeText
ตัวอย่าง 2a
on removeText(searchText, sourceText)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to searchText
set sourceText to text items of sourceText
set text item delimiters of AppleScript to ""
set sourceText to "" & sourceText
set text item delimiters of AppleScript to prevTIDs
return sourceText
end removeText
set theSentence to "I love Windows and I will always love Windows."
set theSentence to removeText("Windows", theSentence)
ฉันพบรูทีนย่อยนี้ (snippet 1a) มีประโยชน์ใน snippet 2a และต้องการนำมาใช้ซ้ำโดยเรียกชื่อ ฉันไปเพื่ออะไร จากนั้นฉันบันทึกเกร็ดเล็กเกร็ดน้อย 1a เป็น /Users/henry/Library/Script\ Libraries/text.scpt
และในส่วนย่อย 2a ฉันแทนที่
ตัวอย่าง 1b
on removeText(searchText, sourceText)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to searchText
set sourceText to text items of sourceText
set text item delimiters of AppleScript to ""
set sourceText to "" & sourceText
set text item delimiters of AppleScript to prevTIDs
return sourceText
end removeText
กับ
ตัวอย่าง 3
use script "text"
และได้รับ ตัวอย่าง 2b และจากนั้นฉันก็วิ่งตัวอย่าง 2b แต่ฉันพบข้อผิดพลาด «script» doesn’t understand the “removeText” message.
การอ้างอิง: "use statement" (อ้างอิงถึงส่วนที่พบโดยการค้นหา use script "Happy Fun Ball"
ใน https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/reference/ASLR_control_statements.html )
ดังนั้นฉันกลับไปที่ google และพบว่ามีคนแนะนำว่าฉันควรบันทึกตัวอย่าง 1a เป็น "แอปพลิเคชันสคริปต์"
การอ้างอิง 2: ที่ด้านล่างของ https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/conceptual/ASLR_about_handlers.html
ในตัวอย่างนั้นมัน
ตัวอย่าง 4
tell application "NonStayOpen"
launch
stringTest("Some example text.")
end tell
ดังนั้นฉันจึงส่งออกตัวอย่างข้อมูล 1a เป็น /Users/henry/Library/Script\ Libraries/text.app
และเขียนตัวอย่าง 2c
ตัวอย่าง 2c
tell application "text"
launch
set theSentence to "I love Windows and I will always love Windows."
set theSentence to removeText("Windows", theSentence)
end tell
จากนั้นฉันก็วิ่งออกมา {} doesn't match the parameters {searchText,
sourceText} for removeText.
หลังจากนั้นฉันได้ลองต่อท้ายก่อน removeText(searchText, sourceText)
เพื่อตัวอย่าง 1a (การรับ ตัวอย่าง 1c ) และส่งออกเพื่อแทนที่ /Users/henry/Library/Script\ Libraries/text.app
แต่มีข้อผิดพลาดเมื่อทำงานล้มเหลว
ประการที่สองเพื่อแทนที่ removeText(searchText, sourceText)
กับ removeText()
ในตัวอย่าง 1a (การรับ ตัวอย่าง 1d ) และส่งออกเพื่อแทนที่ /Users/henry/Library/Script\ Libraries/text.app
แต่ได้รับข้อผิดพลาดเมื่อทำงานล้มเหลว
ในข้อมูลโค้ด 2a ฉันจะโทร / นำรูทีนย่อยกลับมาใช้ซ้ำ (ตัวอย่างข้อมูล 1a) จาก AppleScript หรือ "แอปพลิเคชันสคริปต์" (ดูที่การอ้างอิง 2)