Fixed Ruby Compendium titles.
h3rald h3rald@h3rald.com
Fri, 23 Feb 2024 13:17:19 +0100
15 files changed,
575 insertions(+),
375 deletions(-)
jump to
M
contents/ruby-compendium/book/books.html
→
contents/ruby-compendium/book/books.html
@@ -1,30 +1,47 @@
----- -title: "Ruby Compendium – Books" +title: "Ruby Compendium - Books" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/web-sites.html">← Web Sites</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/podcasts.html">Podcasts and Screencasts →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/web-sites.html">← Web Sites</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/podcasts.html">Podcasts + and Screencasts →</a></nav> - <p><strong><a href="http://www.humblelittlerubybook.com/book/">The Humble Little Ruby Book</a></strong> – A nicely-written free book on Ruby, by <a href="/ruby-compendium/book/rubyists.html#jm">Jeremy McAnally</a></p> +<p><strong><a href="http://www.humblelittlerubybook.com/book/">The Humble Little Ruby Book</a></strong> – A + nicely-written free book on Ruby, by <a href="/ruby-compendium/book/rubyists.html#jm">Jeremy McAnally</a></p> - <p><strong><a href="http://www.sapphiresteel.com/The-Little-Book-Of-Ruby">The Little Book of Ruby</a></strong> – An 87-page free introduction covering Ruby basics.</p> +<p><strong><a href="http://www.sapphiresteel.com/The-Little-Book-Of-Ruby">The Little Book of Ruby</a></strong> – + An 87-page free introduction covering Ruby basics.</p> - <p><strong><a href="http://www.sapphiresteel.com/Blog/The-Book-Of-Ruby-free-in-depth">The Book of Ruby</a></strong> – A 400-page free Ruby bible by Huw Collingbourne.</p> +<p><strong><a href="http://www.sapphiresteel.com/Blog/The-Book-Of-Ruby-free-in-depth">The Book of Ruby</a></strong> + – A 400-page free Ruby bible by Huw Collingbourne.</p> - <p><strong><a href="http://ruby-doc.org/docs/ProgrammingRuby/">Programming Ruby</a></strong> – The first edition of the so-called <em>Pickaxe</em> book, available for free, by <a href="/ruby-compendium/book/rubyists.html#davethomas">Dave Thomas</a>, <a href="/ruby-compendium/book/rubyists.html#chad">Chad Fowler</a> and <a href="/ruby-compendium/book/rubyists.html#andyhunt">Andy Hunt</a></p> +<p><strong><a href="http://ruby-doc.org/docs/ProgrammingRuby/">Programming Ruby</a></strong> – The first edition + of the so-called <em>Pickaxe</em> book, available for free, by <a + href="/ruby-compendium/book/rubyists.html#davethomas">Dave Thomas</a>, <a + href="/ruby-compendium/book/rubyists.html#chad">Chad Fowler</a> and <a + href="/ruby-compendium/book/rubyists.html#andyhunt">Andy Hunt</a></p> - <p><strong><a href="http://mislav.uniqpath.com/poignant-guide/">Why’s (poignant) guide to Ruby</a></strong> – The legendary book by <a href="/ruby-compendium/book/rubyists.html#_why">why the lucky stiff</a>. With foxes, little elves, and… chunky bacon!). Exquisitely weird and witty.</p> +<p><strong><a href="http://mislav.uniqpath.com/poignant-guide/">Why’s (poignant) guide to Ruby</a></strong> + – The legendary book by <a href="/ruby-compendium/book/rubyists.html#_why">why the lucky stiff</a>. With + foxes, little elves, and… chunky bacon!). Exquisitely weird and witty.</p> - <p><strong><a href="http://ruby.runpaint.org/">Read Ruby 1.9</a></strong> – <em>“Very early draft of a book about version 1.9 of the Ruby programming language, released under a Creative Commons license.”</em></p> +<p><strong><a href="http://ruby.runpaint.org/">Read Ruby 1.9</a></strong> – <em>“Very early draft of a book + about version 1.9 of the Ruby programming language, released under a Creative Commons license.”</em></p> - <p><strong><a href="http://ruby.learncodethehardway.org/">Learn Ruby The Hard Way</a></strong> – A Ruby translation of the popular book <em>Learn Python The Hard Way</em>, by Zed Shaw.</p> +<p><strong><a href="http://ruby.learncodethehardway.org/">Learn Ruby The Hard Way</a></strong> – A Ruby + translation of the popular book <em>Learn Python The Hard Way</em>, by Zed Shaw.</p> <aside class="box"> -<div class="box-title">What about <em>real</em> books?</div> -<p>All the books mentioned so far are free, but there’s plenty of published books on Ruby. Check out the following titles:</p> -<ul> - <li><a href="http://www.informit.com/imprint/series_detail.aspx?ser=2124042">Addison-Wesley Progessional Ruby Series</a></li> - <li><a href="http://oreilly.com/pub/topic/ruby">Ruby books by O’Reilly</a></li> - <li><a href="http://pragprog.com/categories/ruby_and_rails">Ruby books by Pragmatic Programmers</a></li> -</ul> + <div class="box-title">What about <em>real</em> books?</div> + <p>All the books mentioned so far are free, but there’s plenty of published books on Ruby. Check out the + following titles:</p> + <ul> + <li><a href="http://www.informit.com/imprint/series_detail.aspx?ser=2124042">Addison-Wesley Progessional Ruby + Series</a></li> + <li><a href="http://oreilly.com/pub/topic/ruby">Ruby books by O’Reilly</a></li> + <li><a href="http://pragprog.com/categories/ruby_and_rails">Ruby books by Pragmatic Programmers</a></li> + </ul> </aside> -<nav class="navigation"><a href="/ruby-compendium/book/web-sites.html">← Web Sites</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/podcasts.html">Podcasts and Screencasts →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/web-sites.html">← Web Sites</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/podcasts.html">Podcasts + and Screencasts →</a></nav>
M
contents/ruby-compendium/book/core-stdlib.html
→
contents/ruby-compendium/book/core-stdlib.html
@@ -1,9 +1,12 @@
----- -title: "Ruby Compendium – The Core and the Standard Library" +title: "Ruby Compendium - The Core and the Standard Library" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/syntax.html">← Syntax</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/features.html">Advanced Language Features →</a></nav> -<p>By default, Ruby always loads its core classes and modules when a script is executed. This means that in all Ruby programs you can always instantiate core objects like:</p> +<nav class="navigation"><a href="/ruby-compendium/book/syntax.html">← Syntax</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/features.html">Advanced + Language Features →</a></nav> +<p>By default, Ruby always loads its core classes and modules when a script is executed. This means that in all Ruby + programs you can always instantiate core objects like:</p> <ul> <li>Numbers (integers, floats)</li> <li>Strings</li>@@ -16,16 +19,23 @@ <li>Threads</li>
<li>Times and dates</li> <li>…and many more.</li> </ul> -<p>Most likely, this is not going to be enough. That’s when the Standard Library comes into play: it’s a large collection of internal libraries that ships with every Ruby implementations. There are libraries to connect to the Internet, to read/write to various file formats such as <span class="caps">CSV</span> or <span class="caps">YAML</span>, to work with files and paths, access system features, and so on.</p> +<p>Most likely, this is not going to be enough. That’s when the Standard Library comes into play: it’s a + large collection of internal libraries that ships with every Ruby implementations. There are libraries to connect to + the Internet, to read/write to various file formats such as <span class="caps">CSV</span> or <span + class="caps">YAML</span>, to work with files and paths, access system features, and so on.</p> <p>Unlike core classes, standard libraries must be required specifically if needed, before they can be used.</p> <aside class="box"> -<div class="box-title">If you want to know more...</div> -<p>On core libraries and the Standard Library, checkout the official documentation:</p> -<ul> - <li><a href="http://www.ruby-doc.org/core/">Core Reference</a></li> - <li><a href="http://www.ruby-doc.org/stdlib/">Standard Library Reference</a></li> -</ul> -<p>Overwhelmed? Don’t know where to start? Familiarize yourself with the <a href="http://www.ruby-doc.org/core/classes/Enumerable.html">Enumerable</a> module; you won’t regret it!</p> + <div class="box-title">If you want to know more...</div> + <p>On core libraries and the Standard Library, checkout the official documentation:</p> + <ul> + <li><a href="http://www.ruby-doc.org/core/">Core Reference</a></li> + <li><a href="http://www.ruby-doc.org/stdlib/">Standard Library Reference</a></li> + </ul> + <p>Overwhelmed? Don’t know where to start? Familiarize yourself with the <a + href="http://www.ruby-doc.org/core/classes/Enumerable.html">Enumerable</a> module; you won’t regret + it!</p> </aside> -<nav class="navigation"><a href="/ruby-compendium/book/syntax.html">← Syntax</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/features.html">Advanced Language Features →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/syntax.html">← Syntax</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/features.html">Advanced + Language Features →</a></nav>
M
contents/ruby-compendium/book/features.html
→
contents/ruby-compendium/book/features.html
@@ -1,31 +1,43 @@
----- -title: "Ruby Compendium – Advanced Language Features" +title: "Ruby Compendium - Advanced Language Features" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/core-stdlib.html">← The Core and the Standard Library</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gems.html">Ruby Gems →</a></nav> -<p>One of the best things about Ruby is that you’re not stuck with a single programming paradigm. Even though everything in Ruby is an object (thereby making it a fully object-oriented language), nothing forbids you to program procedurally, or even use typical functional constructs.</p> -<p>The beauty of this is that you can (and should) combine elements from different paradigms, resulting in very powerful and expressive code. What I really like about Ruby though is its inherent dynamic nature.</p> +<nav class="navigation"><a href="/ruby-compendium/book/core-stdlib.html">← The Core and the Standard Library</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gems.html">Ruby Gems →</a> +</nav> +<p>One of the best things about Ruby is that you’re not stuck with a single programming paradigm. Even though + everything in Ruby is an object (thereby making it a fully object-oriented language), nothing forbids you to program + procedurally, or even use typical functional constructs.</p> +<p>The beauty of this is that you can (and should) combine elements from different paradigms, resulting in very powerful + and expressive code. What I really like about Ruby though is its inherent dynamic nature.</p> <p>You have a very few constraints when coding:</p> <ul> <li>you can open and close class definitions at will,</li> <li>you are not constrained by object types</li> <li>you can mix-in methods in multiple classes at the same time</li> - <li>you can write code that <em>writes itself</em> dynamically (this is commonly called <em>metaprogramming</em>)</li> + <li>you can write code that <em>writes itself</em> dynamically (this is commonly called <em>metaprogramming</em>) + </li> <li>you can easily create Domain-Specific Language to solve problems faster, with style</li> <li>you can create and pass around blocks of code</li> </ul> -<p>All these things make the language very flexible and powerful. Do not overuse Ruby’s power: if your code starts to look like black magic, you’re probably going too far.</p> +<p>All these things make the language very flexible and powerful. Do not overuse Ruby’s power: if your code starts + to look like black magic, you’re probably going too far.</p> <aside class="box"> -<div class="box-title">If you want to know more...</div> -<p>…on specific and advanced Ruby features, check out these articles:</p> -<ul> - <li><a href="http://olabini.com/blog/2006/09/ruby-metaprogramming-techniques/">Ruby Metaprogramming techniques</a></li> - <li><a href="http://www.skorks.com/2010/05/ruby-procs-and-lambdas-and-the-difference-between-them/">Ruby Procs And Lambdas (And The Difference Between Them)</a></li> - <li><a href="http://juixe.com/techknow/index.php/2006/06/15/mixins-in-ruby/">Ruby Mixin Tutorial</a></li> - <li><a href="http://www.valibuk.net/2009/03/domain-specific-languages-in-ruby/">Domain Specific Languages in Ruby</a></li> -</ul> + <div class="box-title">If you want to know more...</div> + <p>…on specific and advanced Ruby features, check out these articles:</p> + <ul> + <li><a href="http://olabini.com/blog/2006/09/ruby-metaprogramming-techniques/">Ruby Metaprogramming + techniques</a></li> + <li><a href="http://www.skorks.com/2010/05/ruby-procs-and-lambdas-and-the-difference-between-them/">Ruby Procs + And Lambdas (And The Difference Between Them)</a></li> + <li><a href="http://juixe.com/techknow/index.php/2006/06/15/mixins-in-ruby/">Ruby Mixin Tutorial</a></li> + <li><a href="http://www.valibuk.net/2009/03/domain-specific-languages-in-ruby/">Domain Specific Languages in + Ruby</a></li> + </ul> </aside> -<nav class="navigation"><a href="/ruby-compendium/book/core-stdlib.html">← The Core and the Standard Library</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gems.html">Ruby Gems →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/core-stdlib.html">← The Core and the Standard Library</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gems.html">Ruby Gems →</a> +</nav>
M
contents/ruby-compendium/book/gem-tips.html
→
contents/ruby-compendium/book/gem-tips.html
@@ -1,5 +1,5 @@
----- -title: "Ruby Compendium – What you can use for..." +title: "Ruby Compendium - What you can use for..." content-type: page ----- <nav class="navigation"><a href="/ruby-compendium/book/gems.html">← Ruby Gems</a> | <a
M
contents/ruby-compendium/book/gems.html
→
contents/ruby-compendium/book/gems.html
@@ -1,20 +1,37 @@
----- -title: "Ruby Compendium – Ruby Gems" +title: "Ruby Compendium - Ruby Gems" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/features.html">← Advanced Language Features</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gem-tips.html">What you can use for... →</a></nav> -<p>Sure, the <a href="/ruby-compendium/book/core-stdlib.html#core-stdlib">Standard Library</a> is quite large but… no, it does not have everything you need. Luckily, it’s full of gems out there! Rubygems is Ruby’s packaging system, and the best way to distribute your own libraries and applications.</p> -<p>The Rubygems packaging system is now included in most Ruby implementation and distributions. Installing a gem and all its dependencies is as easy as issuing <code>gem install <name of the gem></code>. So for example if you want to install the <a href="https://rubygems.org/gems/rails">rails</a> gem, you can just run</p> +<nav class="navigation"><a href="/ruby-compendium/book/features.html">← Advanced Language Features</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gem-tips.html">What you + can use for... →</a></nav> +<p>Sure, the <a href="/ruby-compendium/book/core-stdlib.html#core-stdlib">Standard Library</a> is quite large but… + no, it does not have everything you need. Luckily, it’s full of gems out there! Rubygems is Ruby’s + packaging system, and the best way to distribute your own libraries and applications.</p> +<p>The Rubygems packaging system is now included in most Ruby implementation and distributions. Installing a gem and all + its dependencies is as easy as issuing <code>gem install <name of the gem></code>. So for example if you want + to install the <a href="https://rubygems.org/gems/rails">rails</a> gem, you can just run</p> <p><code>gem install rails</code></p> -<p>…and it will be automatically downloaded and installed on your system, along with the other gems it depends on.</p> +<p>…and it will be automatically downloaded and installed on your system, along with the other gems it depends on. +</p> <section class="section"> -<header><h1 id="h_16" class="toc">RubyGems.org</h1></header> -There are over 1300 different gems publicly (and freely!) available. Luckily, the official gem host site, <a href="http://www.rubygems.org">RubyGems.org</a> makes it very easy to find what you're looking for: just search for a particular gem or a functionality you're looking for, and browse through the results. You can also register and <em>push</em> your own gems for other people to use. + <header> + <h1 id="h_16" class="toc">RubyGems.org</h1> + </header> + There are over 1300 different gems publicly (and freely!) available. Luckily, the official gem host site, <a + href="http://www.rubygems.org">RubyGems.org</a> makes it very easy to find what you're looking for: just search + for a particular gem or a functionality you're looking for, and browse through the results. You can also register + and <em>push</em> your own gems for other people to use. </section> <aside class="box"> -<div class="box-title">What happened to RubyForge?</div> -<p>If you started to learn Ruby a few years ago, the <a href="http://www.rubyforge.org">RubyForge</a> was <em>the</em> place to find user-created ruby code and gems. The site is still there, but nowadays Rubyists prefer using <a href="http://www.github.com">GitHub</a> as host for their source code repositories and RubyGems.org as the home for their gems.</p> + <div class="box-title">What happened to RubyForge?</div> + <p>If you started to learn Ruby a few years ago, the <a href="http://www.rubyforge.org">RubyForge</a> was + <em>the</em> place to find user-created ruby code and gems. The site is still there, but nowadays Rubyists + prefer using <a href="http://www.github.com">GitHub</a> as host for their source code repositories and + RubyGems.org as the home for their gems.</p> </aside> -<nav class="navigation"><a href="/ruby-compendium/book/features.html">← Advanced Language Features</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gem-tips.html">What you can use for... →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/features.html">← Advanced Language Features</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/gem-tips.html">What you + can use for... →</a></nav>
M
contents/ruby-compendium/book/implementations.html
→
contents/ruby-compendium/book/implementations.html
@@ -1,83 +1,118 @@
----- -title: "Ruby Compendium – Versions and Implementations" +title: "Ruby Compendium - Versions and Implementations" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/ten-good-things.html">← 10 Good Things about Ruby</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/syntax.html">Syntax →</a></nav> -<p>One thing that may appear unusual and even discouraging to newcomers is the different versions and implementations of the language. Ruby has two version branches:</p> +<nav class="navigation"><a href="/ruby-compendium/book/ten-good-things.html">← 10 Good Things about Ruby</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/syntax.html">Syntax →</a> +</nav> +<p>One thing that may appear unusual and even discouraging to newcomers is the different versions and implementations of + the language. Ruby has two version branches:</p> <ul> - <li><strong>1.8</strong> – The former stable version, which is still widely used in production and it is still updated.</li> - <li><strong>1.9</strong> – As of release 1.9.2, this is considered the current stable and recommended version of the language. Although most third-party libraries work with it, some old and now unmaintained libraries may not. The good news is that there are normally newer and better libraries available instead.</li> + <li><strong>1.8</strong> – The former stable version, which is still widely used in production and it is still + updated.</li> + <li><strong>1.9</strong> – As of release 1.9.2, this is considered the current stable and recommended version + of the language. Although most third-party libraries work with it, some old and now unmaintained libraries may + not. The good news is that there are normally newer and better libraries available instead.</li> </ul> -<p>Different implementations of Ruby offer different degrees of support to one or the other version. Compared to 1.8, Ruby 1.9 has some additional syntax for certain expressions, improved character encoding support and a few new bundled libraries and features.</p> -<p>If you’re new to Ruby and you have no particular restrictions or needs, you should start learning Ruby using version 1.9 (either <a href="#yarv">the official implementation</a>, <a href="#jruby">JRuby</a> or <a href="#macruby">MacRuby</a>)!</p> +<p>Different implementations of Ruby offer different degrees of support to one or the other version. Compared to 1.8, + Ruby 1.9 has some additional syntax for certain expressions, improved character encoding support and a few new + bundled libraries and features.</p> +<p>If you’re new to Ruby and you have no particular restrictions or needs, you should start learning Ruby using + version 1.9 (either <a href="#yarv">the official implementation</a>, <a href="#jruby">JRuby</a> or <a + href="#macruby">MacRuby</a>)!</p> <aside class="box"> -<div class="box-title">If you want to know more...</div> -<p>There are many articles and presentations online outlining the changes in Ruby 1.9, for example:</p> -<ul> - <li><a href="http://www.slideshare.net/komrade/piterrb-2-ruby-18-vs-ruby-19">Piter.rb #2 – Ruby 1.8 vs Ruby 1.9</a></li> - <li><a href="http://eigenclass.org/hiki/Changes+in+Ruby+1.9">Changes in Ruby 1.9</a></li> - <li><a href="http://slideshow.rubyforge.org/ruby19.html#1">Ruby 1.9: What to Expect</a></li> -</ul> + <div class="box-title">If you want to know more...</div> + <p>There are many articles and presentations online outlining the changes in Ruby 1.9, for example:</p> + <ul> + <li><a href="http://www.slideshare.net/komrade/piterrb-2-ruby-18-vs-ruby-19">Piter.rb #2 – Ruby 1.8 vs + Ruby 1.9</a></li> + <li><a href="http://eigenclass.org/hiki/Changes+in+Ruby+1.9">Changes in Ruby 1.9</a></li> + <li><a href="http://slideshow.rubyforge.org/ruby19.html#1">Ruby 1.9: What to Expect</a></li> + </ul> </aside> <section class="section"> -<header><h1 id="h_6" class="notoc">Official Ruby 1.8 Implementation</h1></header> -<p>The official Ruby 1.8 implementation was written in C by Yukihiru Matsumoto, the creator of Ruby.</p> -<ul> - <li>Current Version: <strong>1.8.7-p352</strong></li> - <li>Download: <a href="http://www.ruby-lang.org/en/downloads/">Official Ruby Web Site</a></li> -</ul> + <header> + <h1 id="h_6" class="notoc">Official Ruby 1.8 Implementation</h1> + </header> + <p>The official Ruby 1.8 implementation was written in C by Yukihiru Matsumoto, the creator of Ruby.</p> + <ul> + <li>Current Version: <strong>1.8.7-p352</strong></li> + <li>Download: <a href="http://www.ruby-lang.org/en/downloads/">Official Ruby Web Site</a></li> + </ul> </section> <section class="section"> -<header><h1 id="yarv" class="notoc">Official Ruby 1.9 Implementation</h1></header> -<p>The official Ruby 1.9 implementation is based on a bytecode interpreter written Koichi Sasada.</p> -<ul> - <li>Current Version: <strong>1.9.2-p200</strong></li> - <li>Preview Version: <strong>1.9.2-preview1</strong></li> - <li>Download: <a href="http://www.ruby-lang.org/en/downloads/">Official Ruby Web Site</a></li> -</ul> + <header> + <h1 id="yarv" class="notoc">Official Ruby 1.9 Implementation</h1> + </header> + <p>The official Ruby 1.9 implementation is based on a bytecode interpreter written Koichi Sasada.</p> + <ul> + <li>Current Version: <strong>1.9.2-p200</strong></li> + <li>Preview Version: <strong>1.9.2-preview1</strong></li> + <li>Download: <a href="http://www.ruby-lang.org/en/downloads/">Official Ruby Web Site</a></li> + </ul> </section> <section class="section"> -<header><h1 id="jruby" class="notoc">JRuby</h1></header> -<p>An implementation of the Ruby language running on the Java Virtual Machine, mature and usable in production. It offers real threading, performance improvements, and Java interoperability. Fully-compatible with both Ruby 1.8 and 1.9.</p> -<ul> - <li>Current Version: <strong>1.6.3</strong></li> - <li>Download: <a href="http://jruby.org/">JRuby Web Site</a></li> -</ul> + <header> + <h1 id="jruby" class="notoc">JRuby</h1> + </header> + <p>An implementation of the Ruby language running on the Java Virtual Machine, mature and usable in production. It + offers real threading, performance improvements, and Java interoperability. Fully-compatible with both Ruby 1.8 + and 1.9.</p> + <ul> + <li>Current Version: <strong>1.6.3</strong></li> + <li>Download: <a href="http://jruby.org/">JRuby Web Site</a></li> + </ul> </section> <section class="section"> -<header><h1 id="h_9" class="notoc">Rubinius</h1></header> -<p>A C++ and <a href="http://llvm.org/"><span class="caps">LLVM</span></a>-powered Ruby implementation. Although still not as mature as <span class="caps">YARV</span> or JRuby, it’s getting there. It currently aims at being compatible with Ruby 1.8.7, although support for Ruby 1.9 is planned.</p> -<ul> - <li>Current Version: <strong>1.2.4</strong></li> - <li>Download: <a href="http://rubini.us/">Rubinius Web Site</a></li> -</ul> + <header> + <h1 id="h_9" class="notoc">Rubinius</h1> + </header> + <p>A C++ and <a href="http://llvm.org/"><span class="caps">LLVM</span></a>-powered Ruby implementation. Although + still not as mature as <span class="caps">YARV</span> or JRuby, it’s getting there. It currently aims at + being compatible with Ruby 1.8.7, although support for Ruby 1.9 is planned.</p> + <ul> + <li>Current Version: <strong>1.2.4</strong></li> + <li>Download: <a href="http://rubini.us/">Rubinius Web Site</a></li> + </ul> </section> <section class="section"> -<header><h1 id="macruby" class="notoc">MacRuby</h1></header> -<p>A Mac-only Ruby implementation compatible with Ruby 1.9, specifically tuned for Mac OS X operating systems.</p> -<ul> - <li>Current Version: <strong>0.10</strong></li> - <li>Download: <a href="http://www.macruby.org/">MacRuby Web Site</a></li> -</ul> + <header> + <h1 id="macruby" class="notoc">MacRuby</h1> + </header> + <p>A Mac-only Ruby implementation compatible with Ruby 1.9, specifically tuned for Mac OS X operating systems.</p> + <ul> + <li>Current Version: <strong>0.10</strong></li> + <li>Download: <a href="http://www.macruby.org/">MacRuby Web Site</a></li> + </ul> </section> <section class="section"> -<header><h1 id="h_11" class="notoc">IronRuby</h1></header> -<p>A .<span class="caps">NET</span> implementation of the Ruby Programming Language, compatible with Ruby 1.8.6 (IronRuby 1.0) and 1.9 (IronRuby 1.1.1 onwards). Not as mature as the other implementations.</p> -<ul> - <li>Current Version: <strong>1.1.3</strong></li> - <li>Download: <a href="http://www.ironruby.net/">IronRuby Web Site</a></li> -</ul> + <header> + <h1 id="h_11" class="notoc">IronRuby</h1> + </header> + <p>A .<span class="caps">NET</span> implementation of the Ruby Programming Language, compatible with Ruby 1.8.6 + (IronRuby 1.0) and 1.9 (IronRuby 1.1.1 onwards). Not as mature as the other implementations.</p> + <ul> + <li>Current Version: <strong>1.1.3</strong></li> + <li>Download: <a href="http://www.ironruby.net/">IronRuby Web Site</a></li> + </ul> </section> <aside class="box"> -<div class="box-title">Try'em All!</div> -<p>Don’t know which Ruby to choose? You don’t have to! <a href="/ruby-compendium/book/rubyists.html#wayneeseguin"></a> created <a href="https://rvm.beginrescueend.com/">Ruby Version Manager</a> (<span class="caps">RVM</span>) to allow you to install, upgrade and manage several Ruby installation seamlessly on the same computer. If you’re on OS X or Linux, that is. If you’re on a Windows computer, <a href="https://github.com/vertiginous/pik">Pik</a> provides something similar.</p> + <div class="box-title">Try'em All!</div> + <p>Don’t know which Ruby to choose? You don’t have to! <a + href="/ruby-compendium/book/rubyists.html#wayneeseguin"></a> created <a + href="https://rvm.beginrescueend.com/">Ruby Version Manager</a> (<span class="caps">RVM</span>) to allow you + to install, upgrade and manage several Ruby installation seamlessly on the same computer. If you’re on OS + X or Linux, that is. If you’re on a Windows computer, <a href="https://github.com/vertiginous/pik">Pik</a> + provides something similar.</p> </aside> -<nav class="navigation"><a href="/ruby-compendium/book/ten-good-things.html">← 10 Good Things about Ruby</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/syntax.html">Syntax →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/ten-good-things.html">← 10 Good Things about Ruby</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/syntax.html">Syntax →</a> +</nav>
M
contents/ruby-compendium/book/intro.html
→
contents/ruby-compendium/book/intro.html
@@ -1,11 +1,24 @@
----- -title: "Ruby Compendium – So you want to learn Ruby..." +title: "Ruby Compendium - So you want to learn Ruby..." content-type: page ----- -<nav class="navigation"> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/notes.html">About this Book →</a></nav> -<p>…or maybe not. Maybe you’re <em>thinking</em> about it, but you’re not entirely convinced it’s a good idea. Maybe you have an annoying co-worker who constantly raves about it and made you curious. Whatever the case, this tiny book is about telling you all you need to know about the language before you actually start getting your hands dirty.</p> -<p>There are many different ways to learn new programming languages. Typically, you’d start reading tutorials online, try a few example programs, maybe buy a book and start reading it. That’s what most people do nowadays, and it works, in the end. The downside of this is that you may spend weeks or even months trying to get the hang of the language, spend a lot of time trying to find information about it, ask dumb questions in forums and mailing lists, re-invent the wheel only to find out —months later— that someone already made a library which does exactly the same thing as yours, but in a much better way.</p> +<nav class="navigation"> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a + href="/ruby-compendium/book/notes.html">About this Book →</a></nav> +<p>…or maybe not. Maybe you’re <em>thinking</em> about it, but you’re not entirely convinced + it’s a good idea. Maybe you have an annoying co-worker who constantly raves about it and made you curious. + Whatever the case, this tiny book is about telling you all you need to know about the language before you actually + start getting your hands dirty.</p> +<p>There are many different ways to learn new programming languages. Typically, you’d start reading tutorials + online, try a few example programs, maybe buy a book and start reading it. That’s what most people do + nowadays, and it works, in the end. The downside of this is that you may spend weeks or even months trying to get + the hang of the language, spend a lot of time trying to find information about it, ask dumb questions in forums and + mailing lists, re-invent the wheel only to find out —months later— that someone already made a library + which does exactly the same thing as yours, but in a much better way.</p> <p>You can learn through mistakes, but there’s no harm in starting with the right foot.</p> -<p>This <em>Ruby Compendium</em> gives you an overview of the Ruby Ecosystem from 10,000ft. It briefly describes the language, its libraries, and what resources you can find online. By the time you finish reading this, you will <em>not</em> know how to write Ruby programs (yet) but you’ll definitely know <em>how to learn</em> this amazing and powerful language and where to look for information and help.</p> +<p>This <em>Ruby Compendium</em> gives you an overview of the Ruby Ecosystem from 10,000ft. It briefly describes the + language, its libraries, and what resources you can find online. By the time you finish reading this, you will + <em>not</em> know how to write Ruby programs (yet) but you’ll definitely know <em>how to learn</em> this + amazing and powerful language and where to look for information and help.</p> <p>Close your editor now, relax, and enjoy!</p> -<nav class="navigation"> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/notes.html">About this Book →</a></nav> +<nav class="navigation"> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a + href="/ruby-compendium/book/notes.html">About this Book →</a></nav>
M
contents/ruby-compendium/book/language.html
→
contents/ruby-compendium/book/language.html
@@ -1,16 +1,28 @@
----- -title: "Ruby Compendium – Quick Tour" +title: "Ruby Compendium - Quick Tour" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/notes.html">← About this Book</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/ten-good-things.html">10 Good Things about Ruby →</a></nav> -<p>Ruby is a relatively new programming language. It was created by <a href="/ruby-compendium/book/rubyists.html#matz">Yukihiro Matzumoto</a> (aka “Matz”) in 1995, but it took another ten years to become popular outside Japan, thanks to the <em>Ruby on Rails</em> web framework.</p> +<nav class="navigation"><a href="/ruby-compendium/book/notes.html">← About this Book</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/ten-good-things.html">10 + Good Things about Ruby →</a></nav> +<p>Ruby is a relatively new programming language. It was created by <a + href="/ruby-compendium/book/rubyists.html#matz">Yukihiro Matzumoto</a> (aka “Matz”) in 1995, but it + took another ten years to become popular outside Japan, thanks to the <em>Ruby on Rails</em> web framework.</p> <aside class="box"> -<div class="box-title">Isn't Ruby <em>slow?</em></div> -<p>Being a high-level, interpreted language, Ruby is slower than compiled languages like C or C++ or even other interpreted languages like Perl 5. However, this may vary depending on the implementation.</p> -<ul> - <li>If you are interested in Ruby benchmarks, check out Antonio Cangiano’s <a href="http://programmingzen.com/2010/07/19/the-great-ruby-shootout-july-2010/">Great Ruby Shootout</a>, which also includes data on <a href="http://www.rubyenterpriseedition.com/">Ruby Enterprise Edition</a> and <a href="http://ruby.gemstone.com/">MagLev</a> implementations.</li> - <li>If you are interested in benchmarks between Ruby implementations and other languages, the <a href="http://shootout.alioth.debian.org/">Computer Language Benchmark Game</a> is a good place to start.</li> -</ul> + <div class="box-title">Isn't Ruby <em>slow?</em></div> + <p>Being a high-level, interpreted language, Ruby is slower than compiled languages like C or C++ or even other + interpreted languages like Perl 5. However, this may vary depending on the implementation.</p> + <ul> + <li>If you are interested in Ruby benchmarks, check out Antonio Cangiano’s <a + href="http://programmingzen.com/2010/07/19/the-great-ruby-shootout-july-2010/">Great Ruby Shootout</a>, + which also includes data on <a href="http://www.rubyenterpriseedition.com/">Ruby Enterprise Edition</a> and + <a href="http://ruby.gemstone.com/">MagLev</a> implementations.</li> + <li>If you are interested in benchmarks between Ruby implementations and other languages, the <a + href="http://shootout.alioth.debian.org/">Computer Language Benchmark Game</a> is a good place to start. + </li> + </ul> </aside> -<nav class="navigation"><a href="/ruby-compendium/book/notes.html">← About this Book</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/ten-good-things.html">10 Good Things about Ruby →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/notes.html">← About this Book</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/ten-good-things.html">10 + Good Things about Ruby →</a></nav>
M
contents/ruby-compendium/book/notes.html
→
contents/ruby-compendium/book/notes.html
@@ -1,5 +1,5 @@
----- -title: "Ruby Compendium – About this Book" +title: "Ruby Compendium - About this Book" content-type: page ----- <nav class="navigation"><a href="/ruby-compendium/book/intro.html">← So you want to learn Ruby...</a> | <a
M
contents/ruby-compendium/book/podcasts.html
→
contents/ruby-compendium/book/podcasts.html
@@ -1,18 +1,29 @@
----- -title: "Ruby Compendium – Podcasts and Screencasts" +title: "Ruby Compendium - Podcasts and Screencasts" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/books.html">← Books</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/rubyists.html">Notable Rubyists →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/books.html">← Books</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/rubyists.html">Notable + Rubyists →</a></nav> - <p><strong><a href="http://5by5.tv/rubyshow">The Ruby Show</a></strong> – <em>The</em> Ruby podcast, with <a href="/ruby-compendium/book/rubyists.html#danbenjamin">Dan Benjamin</a> and <a href="/ruby-compendium/book/rubyists.html#jseifer">Jason Seifer</a>.</p> +<p><strong><a href="http://5by5.tv/rubyshow">The Ruby Show</a></strong> – <em>The</em> Ruby podcast, with <a + href="/ruby-compendium/book/rubyists.html#danbenjamin">Dan Benjamin</a> and <a + href="/ruby-compendium/book/rubyists.html#jseifer">Jason Seifer</a>.</p> - <p><strong><a href="http://ruby5.envylabs.com/">Ruby5</a></strong> – Frequently-released short podcasts on what’s new in the Ruby and Rails community. By <a href="/ruby-compendium/book/rubyists.html#greggpollack">Gregg Pollack</a>.</p> +<p><strong><a href="http://ruby5.envylabs.com/">Ruby5</a></strong> – Frequently-released short podcasts on + what’s new in the Ruby and Rails community. By <a + href="/ruby-compendium/book/rubyists.html#greggpollack">Gregg Pollack</a>.</p> - <p><strong><a href="http://rubyonrails.org/screencasts">Ruby On Rails Screencasts</a></strong> – Free Ruby on Rails screencasts</p> +<p><strong><a href="http://rubyonrails.org/screencasts">Ruby On Rails Screencasts</a></strong> – Free Ruby on + Rails screencasts</p> - <p><strong><a href="http://sdruby.org/podcast">SD Ruby Podcast</a></strong> – Ruby podcasts by the San Diego Ruby community.</p> +<p><strong><a href="http://sdruby.org/podcast">SD Ruby Podcast</a></strong> – Ruby podcasts by the San Diego Ruby + community.</p> - <p><strong><a href="http://www.rubypulse.com/">Ruby Pulse</a></strong> – Free Ruby-related podcasts.</p> +<p><strong><a href="http://www.rubypulse.com/">Ruby Pulse</a></strong> – Free Ruby-related podcasts.</p> - <p><strong><a href="http://ruby-kickstart.com/">Ruby Kickstart</a></strong> – Hours of free screencast to teach you how to program in Ruby, with loads of free material, quizzes, and goodies.</p> -<nav class="navigation"><a href="/ruby-compendium/book/books.html">← Books</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/rubyists.html">Notable Rubyists →</a></nav> +<p><strong><a href="http://ruby-kickstart.com/">Ruby Kickstart</a></strong> – Hours of free screencast to teach + you how to program in Ruby, with loads of free material, quizzes, and goodies.</p> +<nav class="navigation"><a href="/ruby-compendium/book/books.html">← Books</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/rubyists.html">Notable + Rubyists →</a></nav>
M
contents/ruby-compendium/book/resources.html
→
contents/ruby-compendium/book/resources.html
@@ -1,9 +1,16 @@
----- -title: "Ruby Compendium – Resources" +title: "Ruby Compendium - Resources" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/gem-tips.html">← What you can use for...</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/web-sites.html">Web Sites →</a></nav> -<p>There are a lot of resources out there to help you get started or stay up-to-date with Ruby. The Ruby community is active and supportive, as long as you ask nicely.</p> -<p>The following section contains a small set of hand-picked web sites, books and podcasts which you should definitely have a look at. For even more community resources, check out the <a href="http://www.ruby-lang.org/en/community/">Community Page</a> on the Official Ruby Web Site.</p> +<nav class="navigation"><a href="/ruby-compendium/book/gem-tips.html">← What you can use for...</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/web-sites.html">Web Sites + →</a></nav> +<p>There are a lot of resources out there to help you get started or stay up-to-date with Ruby. The Ruby community is + active and supportive, as long as you ask nicely.</p> +<p>The following section contains a small set of hand-picked web sites, books and podcasts which you should definitely + have a look at. For even more community resources, check out the <a + href="http://www.ruby-lang.org/en/community/">Community Page</a> on the Official Ruby Web Site.</p> -<nav class="navigation"><a href="/ruby-compendium/book/gem-tips.html">← What you can use for...</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/web-sites.html">Web Sites →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/gem-tips.html">← What you can use for...</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/web-sites.html">Web Sites + →</a></nav>
M
contents/ruby-compendium/book/rubyists.html
→
contents/ruby-compendium/book/rubyists.html
@@ -1,271 +1,296 @@
----- -title: "Ruby Compendium – Notable Rubyists" +title: "Ruby Compendium - Notable Rubyists" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/podcasts.html">← Podcasts and Screencasts</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | </nav> +<nav class="navigation"><a href="/ruby-compendium/book/podcasts.html">← Podcasts and Screencasts</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | </nav> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="chad"></a><strong><a href="http://chadfowler.com/">Chad Fowler</a></strong> – <a href="http://twitter.com/chadfowler">@chadfowler</a> - </span> - <div style="margin-left: 30px;"> - -Pragmatic Programmer, published author, Ruby core committer. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="chad"></a><strong><a href="http://chadfowler.com/">Chad Fowler</a></strong> – <a + href="http://twitter.com/chadfowler">@chadfowler</a> + </span> + <div style="margin-left: 30px;"> + + Pragmatic Programmer, published author, Ruby core committer. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="matz"></a><strong><a href="http://www.rubyist.net/~matz/">Yukihiro Matsumoto</a></strong> – <a href="http://twitter.com/yukihiro_matz">@yukihiro_matz</a> - </span> - <div style="margin-left: 30px;"> - -The creator of the Ruby Programming Language. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="matz"></a><strong><a href="http://www.rubyist.net/~matz/">Yukihiro Matsumoto</a></strong> – <a + href="http://twitter.com/yukihiro_matz">@yukihiro_matz</a> + </span> + <div style="margin-left: 30px;"> + + The creator of the Ruby Programming Language. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="davethomas"></a><strong><a href="http://pragdave.pragprog.com/">Dave Thomas</a></strong> – <a href="http://twitter.com/pragdave">@pragdave</a> - </span> - <div style="margin-left: 30px;"> - -Pragmatic Programmer, published author, Ruby core committer. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="davethomas"></a><strong><a href="http://pragdave.pragprog.com/">Dave Thomas</a></strong> – <a + href="http://twitter.com/pragdave">@pragdave</a> + </span> + <div style="margin-left: 30px;"> + + Pragmatic Programmer, published author, Ruby core committer. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="dhh"></a><strong><a href="http://www.loudthinking.com/">David Heinemeier Hansson</a></strong> – <a href="http://twitter.com/dhh">@dhh</a> - </span> - <div style="margin-left: 30px;"> - -Creator of the Ruby on Rails framework. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="dhh"></a><strong><a href="http://www.loudthinking.com/">David Heinemeier Hansson</a></strong> – <a + href="http://twitter.com/dhh">@dhh</a> + </span> + <div style="margin-left: 30px;"> + + Creator of the Ruby on Rails framework. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="_why"></a><strong><a href="http://viewsourcecode.org/why/">why the lucky stiff</a></strong> – <a href="http://twitter.com/_why">@_why</a> - </span> - <div style="margin-left: 30px;"> - -Semi-legendary, prolific Ruby developer, core committer, blogger, book author. Mysteriously disappeared in August 2009. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="_why"></a><strong><a href="http://viewsourcecode.org/why/">why the lucky stiff</a></strong> – <a + href="http://twitter.com/_why">@_why</a> + </span> + <div style="margin-left: 30px;"> + + Semi-legendary, prolific Ruby developer, core committer, blogger, book author. Mysteriously disappeared in + August 2009. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="wycatz"></a><strong><a href="http://www.yehudakatz.com/">Yehuda Katz</a></strong> – <a href="http://twitter.com/wycatz">@wycatz</a> - </span> - <div style="margin-left: 30px;"> - -Rails core committer, lead developer of the Merb project. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="wycatz"></a><strong><a href="http://www.yehudakatz.com/">Yehuda Katz</a></strong> – <a + href="http://twitter.com/wycatz">@wycatz</a> + </span> + <div style="margin-left: 30px;"> + + Rails core committer, lead developer of the Merb project. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="jm"></a><strong><a href="http://www.jeremymcanally.com/">Jeremy McAnally</a></strong> – <a href="http://twitter.com/jm">@jm</a> - </span> - <div style="margin-left: 30px;"> - -Published author, blogger. Known for the Little Humble Ruby Book. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="jm"></a><strong><a href="http://www.jeremymcanally.com/">Jeremy McAnally</a></strong> – <a + href="http://twitter.com/jm">@jm</a> + </span> + <div style="margin-left: 30px;"> + + Published author, blogger. Known for the Little Humble Ruby Book. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="obie"></a><strong><a href="http://obiefernandez.com/">Obie Fernandez</a></strong> – <a href="http://twitter.com/obie">@obie</a> - </span> - <div style="margin-left: 30px;"> - -Published author, editor of Addison-Wesley's Professional Ruby Series, enterpreneur. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="obie"></a><strong><a href="http://obiefernandez.com/">Obie Fernandez</a></strong> – <a + href="http://twitter.com/obie">@obie</a> + </span> + <div style="margin-left: 30px;"> + + Published author, editor of Addison-Wesley's Professional Ruby Series, enterpreneur. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="olabini"></a><strong><a href="http://olabini.com/blog">Ola Bini</a></strong> – <a href="http://twitter.com/olabini">@olabini</a> - </span> - <div style="margin-left: 30px;"> - -JRuby core committer, published author, blogger. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="olabini"></a><strong><a href="http://olabini.com/blog">Ola Bini</a></strong> – <a + href="http://twitter.com/olabini">@olabini</a> + </span> + <div style="margin-left: 30px;"> + + JRuby core committer, published author, blogger. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="peterc"></a><strong><a href="http://peterc.org/">Peter Cooper</a></strong> – <a href="http://twitter.com/peterc">@peterc</a> - </span> - <div style="margin-left: 30px;"> - -Published author, blogger, enterpreneaur. Creator of Ruby Inside. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="peterc"></a><strong><a href="http://peterc.org/">Peter Cooper</a></strong> – <a + href="http://twitter.com/peterc">@peterc</a> + </span> + <div style="margin-left: 30px;"> + + Published author, blogger, enterpreneaur. Creator of Ruby Inside. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="acangiano"></a><strong><a href="http://antoniocangiano.com/">Antonio Cangiano</a></strong> – <a href="http://twitter.com/acangiano">@acangiano</a> - </span> - <div style="margin-left: 30px;"> - -Technical Evangelist, blogger, published author, and Ruby's unofficial benchmarker. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="acangiano"></a><strong><a href="http://antoniocangiano.com/">Antonio Cangiano</a></strong> – <a + href="http://twitter.com/acangiano">@acangiano</a> + </span> + <div style="margin-left: 30px;"> + + Technical Evangelist, blogger, published author, and Ruby's unofficial benchmarker. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="andyhunt"></a><strong><a href="http://blog.toolshed.com/">Andy Hunt</a></strong> – <a href="http://twitter.com/pragmaticandy">@pragmaticandy</a> - </span> - <div style="margin-left: 30px;"> - -Pragmatic Programmer, published author. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="andyhunt"></a><strong><a href="http://blog.toolshed.com/">Andy Hunt</a></strong> – <a + href="http://twitter.com/pragmaticandy">@pragmaticandy</a> + </span> + <div style="margin-left: 30px;"> + + Pragmatic Programmer, published author. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="satish"></a><strong><a href="http://satishtalim.com/">Satish Talim</a></strong> – <a href="http://twitter.com/indianguru">@indianguru</a> - </span> - <div style="margin-left: 30px;"> - -Creator of RubyLearning.com, one of the best resources for learning Ruby. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="satish"></a><strong><a href="http://satishtalim.com/">Satish Talim</a></strong> – <a + href="http://twitter.com/indianguru">@indianguru</a> + </span> + <div style="margin-left: 30px;"> + + Creator of RubyLearning.com, one of the best resources for learning Ruby. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="dablack"></a><strong><a href="http://dablog.rubypal.com/">David A. Black</a></strong> – <a href="http://twitter.com/david_a_black">@david_a_black</a> - </span> - <div style="margin-left: 30px;"> - -Ruby core committer, published. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="dablack"></a><strong><a href="http://dablog.rubypal.com/">David A. Black</a></strong> – <a + href="http://twitter.com/david_a_black">@david_a_black</a> + </span> + <div style="margin-left: 30px;"> + + Ruby core committer, published. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="jeg2"></a><strong><a href="http://blog.grayproductions.net/">James Edward Gray II</a></strong> – <a href="http://twitter.com/jeg2">@jeg2</a> - </span> - <div style="margin-left: 30px;"> - -Ruby core committer, conference organizer, published author and blogger. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="jeg2"></a><strong><a href="http://blog.grayproductions.net/">James Edward Gray II</a></strong> – <a + href="http://twitter.com/jeg2">@jeg2</a> + </span> + <div style="margin-left: 30px;"> + + Ruby core committer, conference organizer, published author and blogger. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="luislavena"></a><strong><a href="http://blog.mmediasys.com/">Luis Lavena</a></strong> – <a href="http://twitter.com/luislavena">@luislavena</a> - </span> - <div style="margin-left: 30px;"> - -Ruby core committer, maintainer of RubyInstaller for Windows. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="luislavena"></a><strong><a href="http://blog.mmediasys.com/">Luis Lavena</a></strong> – <a + href="http://twitter.com/luislavena">@luislavena</a> + </span> + <div style="margin-left: 30px;"> + + Ruby core committer, maintainer of RubyInstaller for Windows. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="tenderlove"></a><strong><a href="http://tenderlovemaking.com/">Aaron Petterson</a></strong> – <a href="http://twitter.com/tenderlove">@tenderlove</a> - </span> - <div style="margin-left: 30px;"> - -Ruby core committer, blogger. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="tenderlove"></a><strong><a href="http://tenderlovemaking.com/">Aaron Petterson</a></strong> – <a + href="http://twitter.com/tenderlove">@tenderlove</a> + </span> + <div style="margin-left: 30px;"> + + Ruby core committer, blogger. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="greggpollack"></a><strong><a href="http://envylabs.com/">Gregg Pollack</a></strong> – <a href="http://twitter.com/greggpollack">@greggpollack</a> - </span> - <div style="margin-left: 30px;"> - -Founder of EnvyLabs, creator of many Ruby and Rails-related podcasts, including Ruby5. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="greggpollack"></a><strong><a href="http://envylabs.com/">Gregg Pollack</a></strong> – <a + href="http://twitter.com/greggpollack">@greggpollack</a> + </span> + <div style="margin-left: 30px;"> + + Founder of EnvyLabs, creator of many Ruby and Rails-related podcasts, including Ruby5. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="danbenjamin"></a><strong><a href="http://danbenjamin.com/">Dan Benjamin</a></strong> – <a href="http://twitter.com/danbenjamin">@danbenjamin</a> - </span> - <div style="margin-left: 30px;"> - -Founder of 5by5 Studios, creator and host of The Ruby Show podcast. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="danbenjamin"></a><strong><a href="http://danbenjamin.com/">Dan Benjamin</a></strong> – <a + href="http://twitter.com/danbenjamin">@danbenjamin</a> + </span> + <div style="margin-left: 30px;"> + + Founder of 5by5 Studios, creator and host of The Ruby Show podcast. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="jseifer"></a><strong><a href="http://jasonseifer.com/">Jason Seifer</a></strong> – <a href="http://twitter.com/jseifer">@jseifer</a> - </span> - <div style="margin-left: 30px;"> - -Co-host of The Ruby Show podcast. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="jseifer"></a><strong><a href="http://jasonseifer.com/">Jason Seifer</a></strong> – <a + href="http://twitter.com/jseifer">@jseifer</a> + </span> + <div style="margin-left: 30px;"> + + Co-host of The Ruby Show podcast. + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="wayneeseguin"></a><strong><a href="http://beginrescueend.com/">Wayne E. Seguin</a></strong> – <a href="http://twitter.com/wayneeseguin">@wayneeseguin</a> - </span> - <div style="margin-left: 30px;"> - -Creator of Ruby Version Manager (RVM). - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="wayneeseguin"></a><strong><a href="http://beginrescueend.com/">Wayne E. Seguin</a></strong> – <a + href="http://twitter.com/wayneeseguin">@wayneeseguin</a> + </span> + <div style="margin-left: 30px;"> + + Creator of Ruby Version Manager (RVM). + </div> </section> - <section class="section"> -<span style="padding-top: 20px;display: block;"> - -<a id="steveklabnik"></a><strong><a href="http://www.steveklabnik.com/">Steve Klabnik</a></strong> – <a href="http://twitter.com/steveklabnik">@steveklabnik</a> - </span> - <div style="margin-left: 30px;"> - -Maintainer of Hackety Hack, creator of rstat.us. - </div> +<section class="section"> + <span style="padding-top: 20px;display: block;"> + + <a id="steveklabnik"></a><strong><a href="http://www.steveklabnik.com/">Steve Klabnik</a></strong> – <a + href="http://twitter.com/steveklabnik">@steveklabnik</a> + </span> + <div style="margin-left: 30px;"> + + Maintainer of Hackety Hack, creator of rstat.us. + </div> </section> -<nav class="navigation"><a href="/ruby-compendium/book/podcasts.html">← Podcasts and Screencasts</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | </nav> +<nav class="navigation"><a href="/ruby-compendium/book/podcasts.html">← Podcasts and Screencasts</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | </nav>
M
contents/ruby-compendium/book/syntax.html
→
contents/ruby-compendium/book/syntax.html
@@ -1,13 +1,18 @@
----- -title: "Ruby Compendium – Syntax" +title: "Ruby Compendium - Syntax" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/implementations.html">← Versions and Implementations</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/core-stdlib.html">The Core and the Standard Library →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/implementations.html">← Versions and Implementations</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/core-stdlib.html">The Core and + the Standard Library →</a></nav> <p> -Teaching you how to program in Ruby goes beyond the scope of this book, however, this section will show you at least what Ruby code looks like. If you know another programming language already, some things may already be familiar to you. If you don't, hopefully the following code will not appear too intimidating. + Teaching you how to program in Ruby goes beyond the scope of this book, however, this section will show you at least + what Ruby code looks like. If you know another programming language already, some things may already be familiar to + you. If you don't, hopefully the following code will not appear too intimidating. </p> <div class="CodeRay"> - <div class="code"><pre><span class="line-numbers"> <a href="#n1" name="n1">1</a></span><span class="comment"># This is a comment and will not be executed </span> + <div class="code"> + <pre><span class="line-numbers"> <a href="#n1" name="n1">1</a></span><span class="comment"># This is a comment and will not be executed </span> <span class="line-numbers"> <a href="#n2" name="n2">2</a></span><span class="comment"># by the Ruby interpreter.</span> <span class="line-numbers"> <a href="#n3" name="n3">3</a></span><span class="comment">#</span> <span class="line-numbers"> <a href="#n4" name="n4">4</a></span><span class="comment"># This is not the usual 'Hello World' example, so </span>@@ -68,12 +73,18 @@ <span class="line-numbers"><a href="#n58" name="n58">58</a></span><span class="keyword">end</span>
<span class="line-numbers"><a href="#n59" name="n59">59</a></span> <span class="line-numbers"><strong><a href="#n60" name="n60">60</a></strong></span>pwd.children.select{|i| !i.directory? }.sort.each <span class="keyword">do</span> |item| <span class="line-numbers"><a href="#n61" name="n61">61</a></span> <span class="constant">FilePrinter</span>.new(item).show -<span class="line-numbers"><a href="#n62" name="n62">62</a></span><span class="keyword">end</span></pre></div> +<span class="line-numbers"><a href="#n62" name="n62">62</a></span><span class="keyword">end</span></pre> + </div> </div> <aside class="box"> -<div class="box-title">Trying out Ruby...</div> -If your hands are itching to try writing Ruby code, but you don't want to install it just yet, head over to <a href="http://tryruby.org/">Try Ruby!</a>, a unique way to try the language right in your browser. Or, if you already installed Ruby, follow the <a href="http://www.ruby-lang.org/en/documentation/quickstart/">Ruby in 20 minutes</a> tutorial, using Interactive RuBy (IRB). + <div class="box-title">Trying out Ruby...</div> + If your hands are itching to try writing Ruby code, but you don't want to install it just yet, head over to <a + href="http://tryruby.org/">Try Ruby!</a>, a unique way to try the language right in your browser. Or, if you already + installed Ruby, follow the <a href="http://www.ruby-lang.org/en/documentation/quickstart/">Ruby in 20 minutes</a> + tutorial, using Interactive RuBy (IRB). </aside> -<nav class="navigation"><a href="/ruby-compendium/book/implementations.html">← Versions and Implementations</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/core-stdlib.html">The Core and the Standard Library →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/implementations.html">← Versions and Implementations</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/core-stdlib.html">The Core and + the Standard Library →</a></nav>
M
contents/ruby-compendium/book/ten-good-things.html
→
contents/ruby-compendium/book/ten-good-things.html
@@ -1,23 +1,36 @@
----- -title: "Ruby Compendium – 10 Good Things about Ruby" +title: "Ruby Compendium - 10 Good Things about Ruby" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/language.html">← Quick Tour</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/implementations.html">Versions and Implementations →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/language.html">← Quick Tour</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a + href="/ruby-compendium/book/implementations.html">Versions and Implementations →</a></nav> <ol> <li>It’s free and open source.</li> <li>It’s high-level, no need to worry about memory allocation or similar.</li> - <li>It’s fully cross platform, or at least most of its <a href="/ruby-compendium/book/implementations.html#implementations">implementations</a> are.</li> - <li>It’s elegant. Really, Ruby <a href="/ruby-compendium/book/syntax.html#syntax">syntax</a> is truly beautiful, with no semicolons or braces, generally.</li> + <li>It’s fully cross platform, or at least most of its <a + href="/ruby-compendium/book/implementations.html#implementations">implementations</a> are.</li> + <li>It’s elegant. Really, Ruby <a href="/ruby-compendium/book/syntax.html#syntax">syntax</a> is truly + beautiful, with no semicolons or braces, generally.</li> <li>It has a large <a href="/ruby-compendium/book/core-stdlib.html#core-stdlib">core and Standard Library</a>.</li> - <li>It has over 1300 user-contributed <a href="/ruby-compendium/book/gems.html#gems">libraries</a> for almost anything you can think of.</li> - <li>It is multi-paradigm and offers many advanced language <a href="/ruby-compendium/book/features.html#features">features</a>.</li> - <li>It has a friendly and supportive community and plenty of useful <a href="/ruby-compendium/book/resources.html#resources">resources</a>.</li> - <li>There are loads of <a href="/ruby-compendium/book/web-sites.html#websites">web sites</a> about it and free online learning material.</li> + <li>It has over 1300 user-contributed <a href="/ruby-compendium/book/gems.html#gems">libraries</a> for almost + anything you can think of.</li> + <li>It is multi-paradigm and offers many advanced language <a + href="/ruby-compendium/book/features.html#features">features</a>.</li> + <li>It has a friendly and supportive community and plenty of useful <a + href="/ruby-compendium/book/resources.html#resources">resources</a>.</li> + <li>There are loads of <a href="/ruby-compendium/book/web-sites.html#websites">web sites</a> about it and free + online learning material.</li> <li>A lot of <a href="/ruby-compendium/book/books.html#books">books</a> have been written about it.</li> </ol> <aside class="box"> -<div class="box-title">If you want to know more...</div> -For general information on Ruby and more introductory material, head over to the <a href="http://www.ruby-lang.org/">Official Ruby Web Site</a>, in particular to the <a href="http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/">Ruby from Other Languages</a> articles, if you are already familiar with C, C++, Java, PHP, Perl, or Python. + <div class="box-title">If you want to know more...</div> + For general information on Ruby and more introductory material, head over to the <a + href="http://www.ruby-lang.org/">Official Ruby Web Site</a>, in particular to the <a + href="http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/">Ruby from Other Languages</a> + articles, if you are already familiar with C, C++, Java, PHP, Perl, or Python. </aside> -<nav class="navigation"><a href="/ruby-compendium/book/language.html">← Quick Tour</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/implementations.html">Versions and Implementations →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/language.html">← Quick Tour</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a + href="/ruby-compendium/book/implementations.html">Versions and Implementations →</a></nav>
M
contents/ruby-compendium/book/web-sites.html
→
contents/ruby-compendium/book/web-sites.html
@@ -1,31 +1,48 @@
----- -title: "Ruby Compendium – Web Sites" +title: "Ruby Compendium - Web Sites" content-type: page ----- -<nav class="navigation"><a href="/ruby-compendium/book/resources.html">← Resources</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/books.html">Books →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/resources.html">← Resources</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/books.html">Books →</a> +</nav> - <p><strong><a href="http://www.ruby-lang.org/">Ruby-Lang.org</a></strong> – The official Ruby web site, completely maintained by members of the Ruby community and available in several languages.</p> +<p><strong><a href="http://www.ruby-lang.org/">Ruby-Lang.org</a></strong> – The official Ruby web site, completely + maintained by members of the Ruby community and available in several languages.</p> - <p><strong><a href="https://rubygems.org/">RubyGems.org</a></strong> – The home of all Ruby gems.</p> +<p><strong><a href="https://rubygems.org/">RubyGems.org</a></strong> – The home of all Ruby gems.</p> - <p><strong><a href="http://rubykoans.com/">Ruby Koans</a></strong> – Learn Ruby (and testing) through Koans. Probably the coolest way to learn Ruby right now.</p> +<p><strong><a href="http://rubykoans.com/">Ruby Koans</a></strong> – Learn Ruby (and testing) through Koans. + Probably the coolest way to learn Ruby right now.</p> - <p><strong><a href="http://rubylearning.com/">Ruby Learning</a></strong> – Ruby guru <a href="/ruby-compendium/book/rubyists.html#satish">Satish Talim</a>’s web site about learning the Ruby language. It contains tutorials, study notes, and even <a href="http://rubylearning.org/class/">online classes</a>.</p> +<p><strong><a href="http://rubylearning.com/">Ruby Learning</a></strong> – Ruby guru <a + href="/ruby-compendium/book/rubyists.html#satish">Satish Talim</a>’s web site about learning the Ruby + language. It contains tutorials, study notes, and even <a href="http://rubylearning.org/class/">online classes</a>. +</p> - <p><strong><a href="http://rubycorner.com/">Ruby Corner</a></strong> – The most comprehensive Ruby blog aggregator.</p> +<p><strong><a href="http://rubycorner.com/">Ruby Corner</a></strong> – The most comprehensive Ruby blog + aggregator.</p> - <p><strong><a href="http://www.rubyinside.com/">Ruby Inside</a></strong> – <em>The</em> Ruby blog, by <a href="/ruby-compendium/book/rubyists.html#peterc">Peter Cooper</a>.</p> +<p><strong><a href="http://www.rubyinside.com/">Ruby Inside</a></strong> – <em>The</em> Ruby blog, by <a + href="/ruby-compendium/book/rubyists.html#peterc">Peter Cooper</a>.</p> - <p><strong><a href="http://www.ruby-forum.com/">Ruby Forum</a></strong> – A mirror of the most important Ruby-related mailing lists.</p> +<p><strong><a href="http://www.ruby-forum.com/">Ruby Forum</a></strong> – A mirror of the most important + Ruby-related mailing lists.</p> - <p><strong><a href="http://rubydoc.info/">RubyDoc.info</a></strong> – Your one-stop resource for reference documentation. Everything from Ruby core, Standard Library, gems, and even Github-hosted Ruby projects.</p> +<p><strong><a href="http://rubydoc.info/">RubyDoc.info</a></strong> – Your one-stop resource for reference + documentation. Everything from Ruby core, Standard Library, gems, and even Github-hosted Ruby projects.</p> - <p><strong><a href="http://www.rubyflow.com/">RubyFlow</a></strong> – Community-powered link blog. Created by <a href="/ruby-compendium/book/rubyists.html#peterc">Peter Cooper</a></p> +<p><strong><a href="http://www.rubyflow.com/">RubyFlow</a></strong> – Community-powered link blog. Created by <a + href="/ruby-compendium/book/rubyists.html#peterc">Peter Cooper</a></p> - <p><strong><a href="http://ruby-toolbox.com/">The Ruby Toolbox</a></strong> – A collection of ruby resources and libraries, organized by category and popularity.</p> +<p><strong><a href="http://ruby-toolbox.com/">The Ruby Toolbox</a></strong> – A collection of ruby resources and + libraries, organized by category and popularity.</p> - <p><strong><a href="http://rubycommitters.org/">RubyCommitters.org</a></strong> – List of all the Ruby core committers. Created by <a href="/ruby-compendium/book/rubyists.html#tenderlove">Aaron Petterson</a>.</p> +<p><strong><a href="http://rubycommitters.org/">RubyCommitters.org</a></strong> – List of all the Ruby core + committers. Created by <a href="/ruby-compendium/book/rubyists.html#tenderlove">Aaron Petterson</a>.</p> - <p><strong><a href="http://rubylang.info/">RubyLang.info</a></strong> – <em>“RubyLang.info is a community driven web site, dedicated to helping both new and experienced Ruby developers.”</em></p> +<p><strong><a href="http://rubylang.info/">RubyLang.info</a></strong> – <em>“RubyLang.info is a community + driven web site, dedicated to helping both new and experienced Ruby developers.”</em></p> -<nav class="navigation"><a href="/ruby-compendium/book/resources.html">← Resources</a> | <a href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/books.html">Books →</a></nav> +<nav class="navigation"><a href="/ruby-compendium/book/resources.html">← Resources</a> | <a + href="/ruby-compendium/book/index.html">Contents</a> | <a href="/ruby-compendium/book/books.html">Books →</a> +</nav>