> On 2015-Sep-11, at 11:00 , Nick Savage <nick.sav...@gmail.com> wrote:
> 
> 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 
<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

-- 
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 rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/98289E25-4163-4815-8F86-855810FA6725%40agileconsultingllc.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to