 # Hi, I just started learning about an hour a go and already need help. :-)

Okay I started with Learn the hard way with ruby.
My code is below and below each code is my question.

I guess I do not understand the identifiers because when I do them in my head they dont add up.

Any help would be appreciative and the way I learn I can not move on till I know.

puts “I will now count my chickens:’”

puts “Hens #{25 + 30 / 6}”

#how does that equal 30?

puts “Roosters #{100 - 25 * 3 % 4}”

#How does this equal 97

puts “Now I will count the eggs:”

puts 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6

#How does this equal 7, is it because it is 6.5 and it rounds up.

Okay I started with Learn the hard way with ruby.
My code is below and below each code is my question.

I guess I do not understand the identifiers because when I do them in my head they dont add up.

Any help would be appreciative and the way I learn I can not move on till I know.

This is just barely a Ruby issue. Most operator precedence is the same as you’d expect just from math:

http://ruby-doc.org/core-2.2.3/doc/syntax/precedence_rdoc.html

puts “I will now count my chickens:’”

puts “Hens #{25 + 30 / 6}”

#how does that equal 30?

25 + (30/6)

25 + 5

30

puts “Roosters #{100 - 25 * 3 % 4}”

#How does this equal 97

100 - (25 * 3 % 4)

100 - ((25 * 3) % 4) # same precedence, do them left-to-right

100 - ( 75 % 4)

100 - ( 3 ) # 75 % 4 is the remainder after 75/4

100 - 3

97

puts “Now I will count the eggs:”

puts 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6

#How does this equal 7, is it because it is 6.5 and it rounds up.

Here you have to add a fact (behavior) common to many programming languages: “integer division truncates to an integer

3 + 2 + 1 - 5 + (4%2) - (1/4) + 6

3 + 2 + 1 - 5 + ( 0 ) - ( 0 ) + 6 # then do the + and - left-to-right

5 + 1 - 5 + ( 0 ) - ( 0 ) + 6

``````  6   - 5 + ( 0 ) - ( 0 ) + 6
``````
``````      1   + ( 0 ) - ( 0 ) + 6
``````
``````          1       - ( 0 ) + 6
``````
``````                  1       + 6
``````
``````                          7
``````

Very simple. Perhaps you’re over-thinking it?

-Rob

Google "ruby operator precedence". Multiplication & division have higher precedence than addition & subtraction, is the answer to your immediate question. But you really should google and look at all the precedence categories.