2. Play Along at Home
$ svn export
http://svn.ruby-lang.org/repos/ruby/tags/v1_9_9_0
ruby-1.9.0
$ cd ruby-1.9.0
$ ./configure --program-suffix 1.9
$ make
$ make test
$ chmod a+x bin/irb
$ PATH=. RUBYLIB=quot;./libquot; bin/irb
3. YARV FTW
• Faster
• Less Memory
• Native threads*
• Fun Acronym
*concurrency of one
23. Block Local Variables
i = Elephant.new
[1,2,3].map {|i| i * 2 }
i # => #<Elephant:0x3688b4>
24. stdlib.succ!
• send no longer calls private methods
• #methods and its siblings return symbols
• class variables are not inherited, now work
like class instance variables
(thus obsoleting my entire metaprogramming presentation)
• blocks passable to #[]
• enumerator love
• Oniguruma regexp engine
25. #tap that class
Passes an object to a block, then returns the object
(useful for call chaining)
‘foo’.tap(&:upcase!).tap {|s| s.gsub! /oo/, ‘u’ }
26. Wait, did I see that
correctly?
tap(&:upcase!)
^^