Consultant1guru / hotmail.com wrote:
> On Feb 26, 8:46 am, Dave M <dmil... / tecolote.net> wrote:
>> Hello all
>>
>> I would like to convert integers to strings in a way that I haven't come
>> across in the Ruby functions I have looked at.  I would like the string
>> to be exactly what the integer would be if I read it in from a binary file.
>>
>> In other words, the integer 0x61626364 would be the string "abcd" after
>> the conversion.  I can write code to do it, but I think there is
>> probably a better way than the approach I have come up with.
>>
>> This works but seems very brute force to me:
>>
>> # assumes 32 bit numbers.
>> class Bignum
>>      def to_ls
>>          i = self
>>          s = ""
>>          4.times { s.concat(i & 0xff); i >>= 8}
>>          return s.reverse
>>      end
>> end
>>
>> puts 0x61626364.to_ls
>> abcd
>>
>> Also, it seems that I need this for both Bignum and Fixnum to cover the
>> entire 32 bit number range.
>>
>> Thanks
>>
>> Dave M
> 
> Dave --
> 
> I'm afraid that you may have selected the incorrect language for the
> task at hand.  Your question implies that you are doing some complex
> parsing or homogenization, and Ruby, while a nice scripting language
> for small tasks, is simply not a good choice for that application.  If
> you want to do simple web development or a little scraping, Ruby is
> good for that, but that's about the extent of what it can really
> handle well.
> 
> I suggest you look at Perl or TCL for a serious scripting language,
> Java for a robust programming language, and Visual Basic if you want
> an ultra-fast development environment.  These are tools that can
> handle the task you describe in a sensible way.
> 
> I am not saying that you should give up Ruby.  Ruby is great for
> learning some of the object-oriented concepts that while interesting,
> may not be practical for some tasks in the real world.
> 
> Hope that helps
> 
> Cheers
> 
> G

Please reconsider your assessment of ruby, G.

[0x61626364].pack("N")

This returns the string "abcd" and does so elegantly and efficiently.

In my experience and that of many others on this mailing list, ruby can 
be used for a variety of complex tasks, and not just web apps. Also, 
like perl, it makes simple tasks simple.

-- 
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407