Skip to Content
Beginning AppleScript®
book

Beginning AppleScript®

by Stephen G. Kochan
December 2004
Beginner
600 pages
13h 42m
English
Wrox
Content preview from Beginning AppleScript®

8.4. Argument Types

If you've programmed before, you may have noticed that when you define your handler in AppleScript, you don't declare the types of the arguments it takes. Nor does AppleScript do any checking on the types of arguments you supply when you call the handler. AppleScript just makes sure that you supply the correct number of arguments to the handler. That means if you write this call

sum(100)

AppleScript comes back with the following error message when you compile the script:

{100} doesn't match the parameters {x, y} for sum.

This is an indication that you have not supplied the correct number of arguments. (It actually means that you haven't matched the pattern of the arguments. I explain this later in this chapter).

If you try to call the sum handler with an argument that can't be coerced into a number, like this

sum("abc", 10)

you get an AppleScript error when you run the program because AppleScript can't add the string "abc" with the number 10. However, the following works

sum ("5", "10")

because both strings can be coerced into numbers when the addition is performed.

You can check the type of your arguments inside your handler and take appropriate action if they aren't the types you expect. For example, you can rewrite your sum handler to make sure both arguments are numbers. If either is not a number, you can return some arbitrary value as the result (for example, zero or missing value). Alternatively, you could generate an error; but you don't know how to ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Take Control of Your M-Series Mac

Take Control of Your M-Series Mac

Glenn Fleishman
What Successful Project Managers Do

What Successful Project Managers Do

W. Scott Cameron, Jeffrey S. Russell, Edward J. Hoffman, Alexander Laufer

Publisher Resources

ISBN: 9780764574009Purchase book