exception=> fail throws a RuntimeError with the message as the passed string to fail
You can use Raise to throw a specific exception, e.g.:
	raise MyCustomError, "My custom message"
you can use the enusre block as finally block in c# ... so it's [fail/raise]-rescue-ensure
Why are the  last two triangles invalid? Jim left a hint here: # HINT: for tips, see http://stackoverflow.com/questions/3834203/ruby-koan-151-raising-exceptions  .. let's hope it leads to somethig
so apparently [].map is just another name for [].collect
[].select is equivalent to c#'s enumerable.where .. but I gues this one is not lazy-evaluated
[].find_all is another name for [].select .. api is kinda polluted
[].find finds the first occurenece
- [].inject is mind-boggling at first, but super cool once understood.
- The use of values returned afterwareds are awesome, e.g.:
	File.open('') do |value_returned_from_file_open|
			# pass
		end

	ie equal to:
		value_returned_from_file_open = File.open('')
		do
			# pass .. do something with value_returned_from_file_open
		end
My eye is not so good doing eye.find
File.open doesn't work with relative paths! .. I had to do File.expand_path(File.dirname(__FILE__) + 'filename.txt'))