------art_29183_26831626.1146994992087
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

2006/5/7, C Erler <not.quite.ready / not.quite.ready>:
> I've added a Ruby version at the bottom.  Feel free to make it more
> elegant or compact.

Suggestions for some changes attached - you decide whether you think
they are improvements.

- remove explicit throw as you will get an exception from to_str
anyway if it's not there
- use concat over += for efficiency
- use case for discrimination

Cheers

robert

--
Have a look: http://www.flickr.com/photos/fussel-foto/

------art_29183_26831626.1146994992087
Content-Type: application/octet-stream; name="key.rb"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="key.rb"
X-Attachment-Id: f_emx771e2

IHJlcXVpcmUgJ2VudW1lcmF0b3InCgogZGVmIGtleShsb2NrKQogICAjIFdlIG5lZWQgYSBTdHJp
bmcgb2YgYXQgbGVhc3QgdHdvIGJ5dGVzLgogICBsb2NrID0gbG9jay50b19zdHIKICAgcmV0dXJu
ICcnIHVubGVzcyBsb2NrLmxlbmd0aCA+PSAyCgogICAjIFRyYW5zZm9ybSB0aGUgaW5wdXQgYnl0
ZXMuCiAgIHJlc3VsdCA9IFtsb2NrWzBdIF4gbG9ja1stMl0gXiBsb2NrWy0xXSBeIDVdCiAgIHJl
c3VsdC5jb25jYXQoIGxvY2sudW5wYWNrKCdDKicpLmVudW1fY29ucygyKS5tYXAgeyB8Zmlyc3Qs
IHNlY29uZHwgZmlyc3QgXiBzZWNvbmQgfSApCgogICAjIFJvdGF0ZSBlYWNoIGJ5dGUgYnkgZm91
ciBiaXRzLgogICByZXN1bHQubWFwISB7IHx2YWx1ZXwgKCh2YWx1ZSA8PCA0KSB8ICh2YWx1ZSA+
PiA0KSkgJiAwYjExMTExMTExIH0KCiAgICMgUHV0IHRoZSBvdXRwdXQgaW4gdGhlIGNvcnJlY3Qg
Zm9ybWF0LgogICByZXN1bHQubWFwISBkbyB8dmFsdWV8CiAgICAgY2FzZSB2YWx1ZQogICAgICAg
d2hlbiAwLCA1LCAzNiwgOTYsIDEyNCwgMTI2CiAgICAgICAgICIvJSVEQ04lMDNkJSUvIiAlIHZh
bHVlCiAgICAgICBlbHNlCiAgICAgICAgIHZhbHVlLmNocgogICAgIGVuZAogICBlbmQKCiAgICMg
Q29tYmluZSB0aGUgcGFydHMgaW50byB0aGUgcmVzdWx0YW50IHN0cmluZy4KICAgcmVzdWx0Lmpv
aW4KIGVuZAo------art_29183_26831626.1146994992087--