ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]
“5”.to_i+ “6”.to_i
=> 11“5”.to_i +“6”.to_i
=> 5
maybe it’s a mistak?
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]
“5”.to_i+ “6”.to_i
=> 11“5”.to_i +“6”.to_i
=> 5
maybe it’s a mistak?
“5”.to_i+ “6”.to_i
=> 11“5”.to_i +“6”.to_i
=> 5
The second case +“6”.to_i is treated as an argument for to_i method.
This will make it more obvious:
“111”.to_i +“2”.to_i
=> 7
“111”.to_i +“2”.to_i is equivalent to “111”.to_i(2), hence the result.
Regards,
Rimantas
“cap” [email protected] writes:
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]
“5”.to_i+ “6”.to_i
=> 11
so, you’re calling “5”.to_i.+(“6”.to_i), ie. “5”.to_i.+(6),
ie. 5.+(6), ie. 11
“5”.to_i +“6”.to_i
you’re calling “5”.to_i(+“6”.to_i), ie. “5”.to_i(6),
ie. “5” converted in base 6, ie 5
Rule of thumb : always put spaces around operators…
On Feb 4, 10:12 pm, Eric J. [email protected] wrote:
“cap” [email protected] writes:
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]
Thanks very much!
I got it
Eric J. [email protected] writes:
you’re calling “5”.to_i(+“6”.to_i), ie. “5”.to_i(6),
ie. “5” converted in base 6, ie 5
Ooops… i wanted to say “5” in base 6, converted to int…
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs