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.3. Returning Handler Results

Suppose you wanted to write a handler that simply adds two numbers for you. Okay, that's not very practical. Let's assume, however, that you wanted to do it anyway. If you don't want the handler to display or log the result, how can you get that sum as calculated by the handler back to you, the caller? The answer is by using the return command, as you see in the next Try It Out.

8.3.1.

8.3.1.1. Try It Out: Returning Values from Handlers

This program defines a handler called sum that adds two numbers. These two numbers are passed as parameters to the handler. After the numbers have been added together, the handler returns the result.

  1. Type the following program into Script Editor:

    -- Illustrate a simple handler to add two numbers and return a value
    
    on sum(x, y)
        return x + y
    end sum
    
    -- test out the handler
    
    log sum(100, 200)
    log sum(100, 200) + sum(300, 400)
    
    set i1 to 100
    set i2 to 50
    log sum(i1, i2/2)
  2. Click the Event Log tab and run the program. The following appears in the log:

    (*300*)
    (*1000*)
    (*125*)
8.3.1.2. How It Works

The program begins by defining the sum handler as follows:

on sum(x, y)
    return x + y
end sum

The definition for a handler can appear anywhere in the program, even after it is called. Common programming practice is to place your handler definitions at the beginning of the program where they can be located easily.

The sum handler takes two parameters that you name x and y. Inside the handler, only a single statement appears. This ...

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

AppleScript: The Missing Manual

AppleScript: The Missing Manual

Adam Goldstein
How to Develop a Great Digital Strategy

How to Develop a Great Digital Strategy

Jeanne W. Ross, Cynthia M. Beath, Ina M. Sebastian

Publisher Resources

ISBN: 9780764574009Purchase book