Stupid ECMAScript... It'd be much more readable in Ruby/Lisp/Ioke/etc :)

On Tue, Jan 6, 2009 at 12:38 PM, Doug McCune <d...@dougmccune.com> wrote:

>  Heh, but if you're REALLY going for unreadable lines of code, you might as
> well go all the way:
>
> function repeat(n:Number, f:Function) : Array {
>    return n > 1 ? repeat(n-1, f).concat(f()) : [f()];
> }
>
> function createUID():String {
>    return repeat(4, function(){ return repeat(3, function(){ return
> String("BCDFGHJKLMNPQRSTVWXYZ").substr(int(Math.random()*19), 1) }).join("")
> }).join("-");
> }
>
> On Mon, Jan 5, 2009 at 6:12 PM, Josh McDonald <dzn...@gmail.com> wrote:
>
>>   A quick take on it:
>>
>>                 function randomLetter() : String
>>                 {
>>                     const noVowels : String = "BCDFGHJKLMNPQRSTVWXYZ";
>>                     return noVowels.charAt(Math.round(Math.random() *
>> (noVowels.length - 1)));
>>                 }
>>
>>                 function repeat(n : Number, f : Function) : Array
>>                 {
>>                     return n > 1 ? repeat(n-1, f).concat(f()) : [f()];
>>                 }
>>
>>                 var result : String = repeat(4, function() : String {
>> return repeat(3, randomLetter).join(""); }).join("-");
>>
>> -Josh
>>
>>
>> On Tue, Jan 6, 2009 at 11:45 AM, anuj sharma <anuj...@gmail.com> wrote:
>>
>>>  Hi Brendan
>>> makes sense to put the code :-), With the format I was looking for
>>> following code works perfectly for me, I am not sure thats the right way of
>>> coding but this is working for my purpose. I am pretty sure there can be far
>>> far better way for this
>>> Anuj
>>> /**************************CODE******************/
>>> <mx:Script>
>>>     <![CDATA[
>>>         import mx.messaging.channels.StreamingAMFChannel;
>>>     import mx.controls.Alert;
>>>
>>>     [Bindable]
>>>     public var track:String;
>>>     private function init():void
>>>     {
>>>         btn_genkey.addEventListener(MouseEvent.CLICK,key);
>>>     }
>>>
>>>
>>>     public function key(event:MouseEvent):void
>>>     {
>>>         var newLength:uint = 12;
>>>         var userAlphabet:String = "BCDFGHJKLMNPQRSTVWXYZ";
>>>         var alphabet:Array=userAlphabet.split("");
>>>         var alphabetLength:int = alphabet.length;
>>>         var randomLetters:String = "";
>>>
>>>         var _keyfirstpart:String;
>>>         var _keysecondpart:String;
>>>         var _keythirdpart:String;
>>>         var _keyforthpart:String;
>>>         var _concatenatedString:String;
>>>         for (var i:uint = 0; i < newLength; i++)
>>>           {
>>>             randomLetters += alphabet[int(Math.floor(Math.random() *
>>> alphabetLength))];
>>>           }
>>>           _keyfirstpart=randomLetters.slice(0,3);
>>>           _keysecondpart=randomLetters.slice(3,6);
>>>           _keythirdpart=randomLetters.slice(6,9);
>>>           _keyforthpart=randomLetters.slice(9,12);
>>>
>>>
>>> _concatenatedString=_keyfirstpart+"-"+_keysecondpart+"-"+_keythirdpart+"-"+_keyforthpart;
>>>           text_ii.text=_concatenatedString;
>>>
>>>     }
>>>     ]]>
>>> </mx:Script>
>>>
>>>     <mx:TextInput id="text_ii" x="645" y="270" width="224"/>
>>>     <mx:Button id="btn_genkey" x="513" y="270" label="Generate key"
>>> width="124" />
>>>
>>>
>>>
>>> On Mon, Jan 5, 2009 at 5:39 PM, Brendan Meutzner <bmeutz...@gmail.com>wrote:
>>>
>>>>   So what did you end up putting together?  Should post the code here
>>>> for the next guy...
>>>>
>>>>
>>>> Brendan
>>>>
>>>>
>>>>
>>>> On Mon, Jan 5, 2009 at 5:41 PM, anuj sharma <anuj...@gmail.com> wrote:
>>>>
>>>>>   Awesome guys your guidance help me in achieving this withing 30
>>>>> minutes, it is working now
>>>>> Thanks for your help again
>>>>> Anuj
>>>>>
>>>>> On Mon, Jan 5, 2009 at 2:19 PM, anuj181 <anuj...@gmail.com> wrote:
>>>>>
>>>>>>   Hi
>>>>>> I need to work on a piece of code in which whenever user clicks on the
>>>>>> button , the code should generate random 12 character key having all
>>>>>> caps and no vowels in the format of XXX-XXX-XXX-XXX. Can anybody guide
>>>>>> me in this direction. Is there any built in function for that or do I
>>>>>> have to use my own logic for random generation in this specific case.
>>>>>> Any help will be appreciated.
>>>>>> Thanks
>>>>>> Anuj
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Brendan Meutzner
>>>> http://www.meutzner.com/blog/
>>>>
>>>
>>>
>>
>>
>> --
>> "Therefore, send not to know For whom the bell tolls. It tolls for thee."
>>
>> Like the cut of my jib? Check out my Flex blog!
>>
>> :: Josh 'G-Funk' McDonald
>> :: 0437 221 380 :: j...@gfunk007.com
>> :: http://flex.joshmcdonald.info/
>> :: http://twitter.com/sophistifunk
>>
>
> 
>



-- 
"Therefore, send not to know For whom the bell tolls. It tolls for thee."

Like the cut of my jib? Check out my Flex blog!

:: Josh 'G-Funk' McDonald
:: 0437 221 380 :: j...@gfunk007.com
:: http://flex.joshmcdonald.info/
:: http://twitter.com/sophistifunk

Reply via email to