December 2004
Beginner
600 pages
13h 42m
English
script countMe
property X : 0
set X to X + 1
log "I've been called " & (X as string) & " times"
end script
repeat 10 times
run countMe
end repeat
on surfaceArea given radius:r
return 4 * pi * r * r
end surfaceArea
on rectangle given width:w, height:h
script
property width : w
property height : h
property origin : {0, 0} as point
on area()
return width * height
end area
on perimeter()
return (width + height) * 2
end perimeter
on setOrigin given x:x0, y:y0
set origin to {x0, y0} as point
end setOrigin
on getOrigin()
return origin
end getOrigin
end script
end rectangle
on square given side:s
script
property side : s
on area()
return side * side
end area
on perimeter()
return side * 4
end perimeter
end script
end square
-- test the new origin methods
set R1 to rectangle given width:10, height: 20
setOrigin of R1 given x:100, y:200
getOrigin() of R1
You can't use the store script command because you want to store handlers and not a single script by name into a file. (Note: you could encapsulate both the rectangle and square handlers inside a script compound statement and then write that script out to a file.)
set shapes to load script file ((path to scripts folder as string) & "rects.scpt") set myRect to rectangle of shapes given width:15, height:20 set mySquare to square of shapes given side:12 log area() of myRect log perimeter() of mySquare
Read now
Unlock full access