mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	https://github.com/ruby/ruby/pull/364 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			649 B
		
	
	
	
		
			Awk
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			649 B
		
	
	
	
		
			Awk
		
	
	
	
	
	
BEGIN {
 | 
						|
  sw = 40.0;
 | 
						|
  dw = 78.0;
 | 
						|
  hdw = dw / 2.0;
 | 
						|
  w = 20.0;
 | 
						|
  h =1.0;
 | 
						|
  d = 0.2;
 | 
						|
  ss="abcdefghijklmnopqrstuvwxyz0123456789!#$%^&*()-=\\[];'`,./";
 | 
						|
  rnd = srand();
 | 
						|
}
 | 
						|
 | 
						|
{
 | 
						|
  xr = -hdw; y = h * 1.0; maxxl = -999;
 | 
						|
  s = "";
 | 
						|
  while (xr < hdw) {
 | 
						|
    x = xr * (1 + y) - y * w / 2;
 | 
						|
    i = (x / (1 + h) + sw /2);
 | 
						|
    c = (0 < i && i < length($0)) ? substr($0, i, 1) : "0";
 | 
						|
    y = h - d * c;
 | 
						|
    xl = xr - w * y / (1 + y);
 | 
						|
    if (xl < -hdw || xl >= hdw || xl <= maxxl) {
 | 
						|
      t = rand() * length(ss);
 | 
						|
      c = substr(ss, t, 1);
 | 
						|
    }
 | 
						|
    else {
 | 
						|
      c = substr(s, xl + hdw, 1);
 | 
						|
      maxxl = xl;
 | 
						|
    }
 | 
						|
    s = s c;
 | 
						|
    xr = xr + 1;
 | 
						|
  }
 | 
						|
  print s;
 | 
						|
}
 |