------ 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--