Allowed coercions
Syntaxset theClass to class of theString DescriptionThe class value type is used to describe the data type of a variable or object, such as: boolean, class, integer, real, record, or string. It is used most often to check the value type of a variable or return value: set theString to "I am a string" set theClass to class of theString -- returns string Getting the class property of a string returns an object of type class, which is just the word string (or whatever the class is) without quotation marks. If you want to twist your tongue into further knots, follow the prior example with the statement: get class of theClass It returns, you guessed it, the term class with no quotation marks. ExamplesTo make sure they are of the proper data type, check the class property of any parameters that are passed to functions: on MultiplyByTwo(aNumber) if (class of aNumber is not in {integer,real}) then return 0 else return aNumber * 2 end if end MultiplyByTwo MultiplyByTwo(45) MultiplyByTwo("woops") The first call to the MultiplyByTwo function will result in "90." The second call will produce "0" because the parameter is a string, instead of the required integer or real value type. The class of aNumber part of the previous example returns an object of type class (it will return integer from the first call to MultiplyByTwo and string from the second call). The segment: (class of aNumber is not in {integer,real}) of the function call is a boolean expression. It will return false if the class of the parameter is either an integer or a real. |