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®

12.4. Script Objects Containing Handlers

Your script objects can contain their own handler definitions. Like properties, those handlers are defined at the time you define the script. You can call the handlers directly from within the script object or from outside the script by using the notation handler of script (or the equivalent script's handler). In fact, that's what you did in Chapter 8 when you used the load script command to load your list handlers.

When you think of your program at the topmost level as a script object, you understand the idea of defining a handler inside a script. But in the next Try It Out, you explicitly create a script object and define three handlers inside that script object.

12.4.1.

12.4.1.1. Try It Out: Defining Handlers inside Scripts

In this program, you define three handlers inside a script.

  1. Type the following program into Script Editor:

    -- Handlers inside script objects
    
    script circle
        on area given radius:r
            return pi * r * r
        end area
    
        on circumference given radius:r
            return 2 * pi * r
        end circumference
    
        on volume given radius:r   -- okay, so it's a sphere
            return 4 * pi * (r ^ 3) / 3
        end volume
    end script
    
    -- now calculate and log various values
    
    log (area of circle given radius:5)
    log (circle's circumference given radius:10)  -- gets changed when compiled
    
    tell circle
        log (volume given radius:2)
    end tell
  2. Click the Event Log tab and run the program. You should see this output:

    (*78.539816339745*)
    (*62.831853071796*)
    (*33.510321638291*)
12.4.1.2. How ...
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

Publisher Resources

ISBN: 9780764574009Purchase book