Answer my own question. It returns an instance of itself. So you could do,
x = foobar(); y = x(); Not that you would want to, though. :) ======================================================================== === Raymond Camden, ColdFusion Jedi Master for Mindseye, Inc (www.mindseye.com) Member of Team Macromedia (http://www.macromedia.com/go/teammacromedia) Email : [EMAIL PROTECTED] Blog : www.camdenfamily.com/morpheus/blog Yahoo IM : morpheus "My ally is the Force, and a powerful ally it is." - Yoda > -----Original Message----- > From: Raymond Camden [mailto:[EMAIL PROTECTED] > Sent: Tuesday, August 19, 2003 8:07 PM > To: CF-Talk > Subject: RE: Uniquely identifying a function > > > Interesting tip - even more so - interesting function. Your > UDF returns the UDF - what happens if you call it? :) > > ============================================================== > ========== > === > Raymond Camden, ColdFusion Jedi Master for Mindseye, Inc > (www.mindseye.com) > Member of Team Macromedia > (http://www.macromedia.com/go/teammacromedia) > > Email : [EMAIL PROTECTED] > Blog : www.camdenfamily.com/morpheus/blog > Yahoo IM : morpheus > > "My ally is the Force, and a powerful ally it is." - Yoda > > > -----Original Message----- > > From: Matt Liotta [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, August 19, 2003 7:54 PM > > To: CF-Talk > > Subject: Re: Uniquely identifying a function > > > > > > BTW, you can get the name of the CFM that the function is > > defined in by > > calling the getPagePath() method of the function. See the following > > example. > > > > <cffunction name="foobar"> > > <cfreturn foobar> > > </cffunction> > > <cfdump var="#foobar.getPagePath()#"> > > > > -Matt > > > > On Tuesday, August 19, 2003, at 06:49 PM, Tim Blair wrote: > > > > >> Obviously, your function names must be unique per CFM, so > > the unique > > >> name for all functions is a concatenation of the CFM name and the > > >> function name. > > > > > > Indeed that is true, the problem comes when I'm trying to > work out > > > which CFM page contains the function: I'm performing the key > > > generation from within the CFC, so it's a bit of a hassle > > to work out > > > where the function "came from". Any way, the toString() method I > > > provided initially basically does what you have stated, > in a round > > > about kind of way. > > > > > >> Here is a quick UDF (read not tested) that does what you > need. ... > > >> return theName.hashCode(); > > > > > > That's not going to identify a function uniquely - the hashCode() > > > method will return the hashcode for the theName variable, > > not for the > > > function. If I called the method again with exactly the > > same value, > > > it'd return a different hashcode. > > > > > > Saying that however, using hashCode() against the > function directly > > > _will_ work and also saves on the hash() call. I can > > replace the key > > > generation line: > > > > > > <cfset key = this.KEYPREFIX & hash(myFuncRef.toString())> > > > > > > with the following, removing one method call per generation > > (not much, > > > but I'm sure they'll all add up, especially as it's a > > crypto function > > > call I'm removing) and guaranteeing the key is unique (and > > always the > > > same) for that function: > > > > > > <cfset key = this.KEYPREFIX & myFuncRef.hashCode())> > > > > > > For those that are wondering, the hashCode() method is a > java method > > > implemented in the base Object class that all other > classes extend > > > from by default. By definition it is guaranteed to > return a unique > > > (integer) ID for each object and if the function is called > > on the same > > > object more than once during the lifetime of the Java application > > > (i.e. CFMX), the same hash code will be returned on each call. > > > Generally, the unique ID is generated from the internal > > memory address > > > of the given object. > > > > > > Additionally, the key generated by the hashCode() method is much > > > shorter than using a hash(toString()) representation (8 > or so bytes > > > compared to 32) so storing the key in memory won't eat up > > so much RAM. > > > Not exactly the biggest gain in the world but sometimes > every byte > > > counts... ;) > > > > > > Cheers for the pointer Matt, even if it wasn't exactly what you > > > meant... ;) > > > > > >> You might also be interested in the following Java class > > > > > > That's cool, but surely the toString() method I stated returns > > > (basically) this info anyway, but it is more relevant for > the use I > > > need because it also includes the sub-class for the function > > > reference. Ta anyway - may well come in useful at some point! > > > > > > The question still remains, is this a sensible way to go? > No one's > > > come down on me like a ton of bricks so I'm guessing it's OK... > > > > > > Tim. > > > > > > ------------------------------------------------------- > > > RAWNET LTD - Internet, New Media and ebusiness Gurus. > > > Visit our new website at http://www.rawnet.com for > > > more information about our company, or call us free > > > anytime on 0800 294 24 24. > > > ------------------------------------------------------- > > > Tim Blair > > > Web Application Engineer, Rawnet Limited > > > Direct Phone : +44 (0) 1344 393 441 > > > Switchboard : +44 (0) 1344 393 040 > > > ------------------------------------------------------- > > > This message may contain information which is legally privileged > > > and/or confidential. If you are not the intended > recipient, you are > > > hereby notified that any unauthorised disclosure, copying, > > > distribution or use of this information is strictly > prohibited. Such > > > notification notwithstanding, any comments, opinions, > > > information or conclusions expressed in this message > > > are those of the originator, not of rawnet limited, > > > unless otherwise explicitly and independently indicated > > > by an authorised representative of rawnet limited. > > > ------------------------------------------------------- > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/lists.cfm?link=t:4 Subscription: http://www.houseoffusion.com/lists.cfm?link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm