Your variable originalDateString got coerced to a list in your bigger script.
from "Mon 22nd April" to {"M", "o", "n", " ", "2", "2", "n", "d", " ", "A", "p", "r", "i", "l"}
so, text item 3 in the list is "n".
place in your code, before setting the text item delimiter
set originalDateString to originalDateString as text
.
Text item delimiter.
I don't bother to save it to a variable "tid". I just set it back to it's default "", an empty string. Text item delimiters only changes when we temporarily need it. By saving it to a variable you might backup an uncorrect tid and restore this mistake. So, set it to it's default "".
handler based on your example
set originalDateString to items of "Mon 22nd April" -- 'items of' to test with a list
set dateItems to my getDateItems(originalDateString) -- 'dateItems', list of 3 items
-- or declare 3 variables at once
set {dayOfWeekAbbrev, dayOfMonth, monthName} to my getDateItems(originalDateString)
on getDateItems(someText as text)
try
set AppleScript's text item delimiters to " "
set {ti1, ti2, ti3} to {text item 1, text item 2, text item 3} of someText
set AppleScript's text item delimiters to ""
return {ti1, ti2, ti3}
on error errorMessage number errorNumber
set AppleScript's text item delimiters to ""
error ((name of me) & linefeed & "....> getDateItems()" & linefeed & linefeed & errorMessage) number errorNumber
end try
end getDateItems
Topic:
Programming Languages
SubTopic:
General
Tags: