Changeset 12

Show
Ignore:
Timestamp:
10/24/05 16:49:03 (3 years ago)
Author:
Jan-Klaas Kollhof
Message:

little speed improvement for String::format() for %s

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • jsolait/trunk/jsolait/jsolait.js

    r11 r12  
    569569               .x     Where x is the percision for floating point numbers and the lenght for 0 padding for integers. 
    570570            typeOfValue: 
    571                 d    Signed integer decimal.        
    572                 i     Signed integer decimal.       
    573                 b    Unsigned binary.                       //This does not exist in python! 
    574                 o    Unsigned octal.   
    575                 u    Unsigned decimal.      
    576                 x    Unsigned hexidecimal (lowercase).     
     571                d   Signed integer decimal.     
     572                i   Signed integer decimal.     
     573                b   Unsigned binary.                       //This does not exist in python! 
     574                o   Unsigned octal.    
     575                u   Unsigned decimal.       
     576                x   Unsigned hexidecimal (lowercase).      
    577577                X   Unsigned hexidecimal (uppercase).    
    578578                e   Floating point exponential format (lowercase).    
    579579                E   Floating point exponential format (uppercase).    
    580                 f    Floating point decimal format.     
     580                f   Floating point decimal format.      
    581581                F   Floating point decimal format.    
    582582                c   Single character (accepts byte or single character string).       
     
    599599            throw new mod.Exception("Unsupported formating string."); 
    600600        } 
    601         var rslt =""; 
     601        var rslt=""; 
    602602        var s; 
    603603        var obj; 
     
    610610            if(s == "%%"){ 
    611611                s = "%"; 
     612            }else if(s=="%s"){ //making %s faster 
     613                if(cnt>=arguments.length){ 
     614                    throw new mod.Exception("Not enough arguments for format string."); 
     615                }else{ 
     616                    obj=arguments[cnt]; 
     617                    cnt++; 
     618                } 
     619                if (obj === null){ 
     620                    obj = "null"; 
     621                }else if(obj===undefined){ 
     622                    obj = "undefined"; 
     623                } 
     624                s=obj.toString(); 
    612625            }else if(s.slice(0,1) == "%"){ 
    613626                frmt = new FormatSpecifier(s);//get the formating object