To Rev or not to Rev
Rob Cozens
rcozens at pon.net
Sat Apr 30 10:37:10 EDT 2005
Frank, et al:
>As for an object-oriented programming language, no Rev is *not* an
>object-oriented programming language, at least not in the traditional sense.
>
>
>For example, in Rev, let's say we want to change the label of the button;
>we do this with a command like:
>
>set the label of button "My Button" to "Hello"
>
>
>In other words, we are giving an instruction to Rev, such that our script
>code changes the button's label. In more traditional OOP, we instead send
>a message to the button, asking it to change its own label; something more
>like (pseudo-code, not necessarily in any "real" programming language):
>
>tell button "My Button" to set its label to "Hello"
>
>
>At first the distinction may seem quite subtle, and you may not recognize
>the benefits to this, but consider that I want to create a new type of
>button with certain characteristics, one of which is that the label of the
>button always begin with a digit. I can enforce this by having the button
>reject an attempt to set its label to anything other than a string
>starting with a digit (again with the pseudo-code):
>
>when asked to set my label to x
> if char 1 of x is a number then
> set the label of me to x
> else
> throw "Invalid Label"
> end if
>end when asked to set my label
>
>
>Note that the prior code would still work the same way, and would not need
>to know what kind of button it was dealing with (of course, it would have
>an exception raised with this kind of button, since "Hello" does not start
>with a digit...)
>
>We can't currently do this with Rev.
In button script:
on setMyLabel labelName
if char 1 of labelName is a number then
set the label of me to labelName
return empty
end if
return "Invalid label name:"&&labelName
end setMyLabel
elsewhere:
send "setMyLabel Hello" to button id targetButtonId
??
Rob Cozens CCW
Serendipity Software Company
"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."
from "The Triple Foole" by John Donne (1572-1631)
More information about the use-livecode
mailing list