On Monday, February 25, 2013 6:47:20 PM UTC, [email protected] wrote:
>
> Other confusion is, it is working fine with ruby 1.8.7, not with ruby 
> 1.9.3, here is the code
>  
>
irb(main):003:0> length=nil
> => nil
> irb(main):004:0> token_string ||= ["A".."Z","a".."z","0".."9"].collect { 
> |r| r.to_a }.join + %q(!$:*)
> => "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!$:*"
> irb(main):005:0> token =  (0..(length ? length : 60)).collect { 
> token_string[rand( token_string.size)]}.pack("c*")
> TypeError: can't convert String into Integer
>     from (irb):5:in `pack'
>     from (irb):5
>     from /home/appandya/.rvm/rubies/ruby-1.9.3-p374/bin/irb:13:in `<main>'
> irb(main):006:0>
>
>
>
I've no idea what you're trying to do here, but the underlying cause is 
that on ruby 1.8.7:

'123'[0] #=> 49, the byte value of the first character

but on ruby 1.9.3

'123'[0] #=> '1', a string of length 1 beginning at the specified offset

Fred 

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/_7vRy1qTL4UJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to