From: Simon Kröger on
William James wrote:
>> s,f=1,proc{|x,y|y<1?[]:[[*s...s+=x]]+f[y-1,x].reverse.transpose}
>
> This is more obfuscated than
>
> s=1
> f=proc{|x,y|y<1?[]:[[*s...s+=x]]+f[y-1,x].reverse.transpose}
>
> and is no shorter.

depends on your line end character(s) :)

>> puts f[w=gets(' ').to_i,gets.to_i].map{|i|['%3i']*w*' '%i}
>> ----------------------------------------------------------------
>>
>> It draws a number spiral, starting with '1' in the upper left
>> corner and the highest number in the middle, it also features
>> spirals that are not quadratic.
>>
>> Yes, you will get some score at the codegolf site if you repost
>> this solution there
>
> If the site accepted this, then it wasn't tested thoroughly
> enough. '%3i' gives every number-spiral a column-width
> of 3; the column-width should equal the width of the
> largest number.

Well, consider it cheating, most spirals have a column width of
3 - so you may have to post it twice to have it accepted.

cheers

Simon

From: William James on
Simon Kröger wrote:
> William James wrote:
> >> s,f=1,proc{|x,y|y<1?[]:[[*s...s+=x]]+f[y-1,x].reverse.transpose}
> >
> > This is more obfuscated than
> >
> > s=1
> > f=proc{|x,y|y<1?[]:[[*s...s+=x]]+f[y-1,x].reverse.transpose}
> >
> > and is no shorter.
>
> depends on your line end character(s) :)

Only if you're under windoze and you neglect to remove
the carriage-returns before uploading. Using vile, for example,
I do :set-unix-mode and save before uploading. If you're not
doing this, then you are really hurting your score.

By the way, in the ASCII Art contest I got the size
down to 76. I would pay to see how "flagitious" did it
in 71 bytes!

>
> >> puts f[w=gets(' ').to_i,gets.to_i].map{|i|['%3i']*w*' '%i}
> >> ----------------------------------------------------------------
> >>
> >> It draws a number spiral, starting with '1' in the upper left
> >> corner and the highest number in the middle, it also features
> >> spirals that are not quadratic.
> >>
> >> Yes, you will get some score at the codegolf site if you repost
> >> this solution there
> >
> > If the site accepted this, then it wasn't tested thoroughly
> > enough. '%3i' gives every number-spiral a column-width
> > of 3; the column-width should equal the width of the
> > largest number.
>
> Well, consider it cheating, most spirals have a column width of
> 3 - so you may have to post it twice to have it accepted.

The site really should do more thorough testing.