beggining of chapter six, going over the standard types, numbers, strings, ranges, and regex - also arrays, hashes, and procs.
most have a digit on both sides of decimal otherwise ruby tries to invoke the method.
supports fractions and complex numbers, which is cool.  prolly won't use, but neat that they support it.  Ruby is not really a math language - sorry ruby - i'll stick with python and r for the maths - actually, just r :)
numbers are treated as strings if they are in a string (not an issue for me, but apprently they are auto-converted in perl.
it matters where in your file you put in the require statement.  It will only apply the require statment to things below the require statement.  mathn is a module / library that returns more natural representation of math numbers.
integers are in class Numeric and they have several methods like .times, .upto, .downto, and .step(number going to, by how much)
if you leave off the block it returns an enumerator object, which you can then enumerate over with enumerator class methods, such as .with_index {|element, index| puts 'whatever'}
escape single quotes with \, and can escape \ like \\ or single quotes with \'.  Double quotes have all sorts of escapes and string interpolation.  Also, between #{  } you can put all sorts of expressions and it will evaluate and print it out, which I didn't know.
you can create your own string delimeters using %follow_by_any_symbol_you_want that's not a number or character.  interesting.
heredocs are ways to create longer strings.  simply put <<DELIMETER and then when the program sees DELIMETER again it will create a string with the stuff in between.  start -DELIMTER with a - if you want Ruby to find it even if it's not at the start of a new line.  Ruby includes all the spaces and newlines in the string.
default encoding for rub is US-ASCII, however you can go to utf-8, which is becoming the online standard, by putting the # encoding: utf-8 at the top of the file.
strings have around 100 methods, biggest built in type in Ruby, some cool methods are .chomp (removes \n), .split(regex of what you want to split on) matches reges, .scan(regexof what you want to match)
ranges are used to implement sequences, conditions, and intervals.  for sequences you can specify a range using 1..10 for example.  us to_a to convert a sequence to an array, can use .to_enum to convert ot a Enumerator.  ranges do not use a lot of memory, they just store start and finish, however, wen you convert to an array, then it does ues all that memory.