We had an "object oriented Ruby" morning on today's course. "But everything's an object in Ruby" you'll tell me and you're sort of right (we could argue about what symbols and code blocks are), but there are certain elements of object orientation which require specific coverage.
Here are links to three examples:
[link] - a straightforward example of a class definintion, no inheritance, nothing fancy (thout it does have an attribute accessor)
[link] - a demonstration that shows inheritance, embedding of classes within a module, static variable and methods, operator overloading, a singleton method and much more. There are plenty of comments in the source code of this example.
[link] - showing the difference between object and class (dymanic and static) variables.
The following new examples have also been added in other areas:
[link] - command line parameters to a Ruby program
[link] - BEGIN and END blocks, and autosplit
[link] - a comparison of symbols and strings in Ruby
[link] Commenting a regular expression in Ruby
(written 2010-02-03, updated 2010-02-04)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R108 - Ruby - More Classes and Objects [4551] Testing your new class - first steps with cucumber - (2015-10-23)
[4550] Build up classes into applications sharing data types in Ruby - (2015-10-23)
[4504] Where does Ruby load modules from, and how to load from current directory - (2015-06-03)
[4366] Changing what operators do on objects - a comparison across different programming languages - (2014-12-26)
[3782] Standard methods available on all objects in Ruby - (2012-06-23)
[3781] Private, Protected, Public in Ruby. What about interfaces and abstract classes in Ruby? - (2012-06-23)
[3760] Why you should use objects even for short data manipulation programs in Ruby - (2012-06-10)
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23)
[3158] Ruby training - some fresh examples for string handling applications - (2011-02-05)
[3154] Changing a class later on - Ruby - (2011-02-02)
[3142] Private and Public - and things between - (2011-01-22)
[2980] Ruby - examples of regular expressions, inheritance and polymorphism - (2010-10-02)
[2977] What is a factory method and why use one? - Example in Ruby - (2010-09-30)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2620] Direct access to object variable (attributes) in Ruby - (2010-02-02)
[2616] Defining a static method - Java, Python and Ruby - (2010-02-01)
[2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
[2603] Ruby objects - a primer - (2010-01-29)
[2601] Ruby - is_a? v instance_of? - what is the difference? - (2010-01-27)
[2292] Object Orientation in Ruby - intermediate examples - (2009-07-16)
[1587] Some Ruby programming examples from our course - (2008-03-21)
[1217] What are factory and singleton classes? - (2007-06-04)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[184] MTBF of coffee machines - (2005-01-20)
R109 - Ruby - Strings and Regular Expressions [4549] Clarrissa-Marybelle - too long to really fit? - (2015-10-23)
[4505] Regular Expressions for the petrified - in Ruby - (2015-06-03)
[4388] Global Regular Expression matching in Ruby (using scan) - (2015-01-08)
[3758] Ruby - standard operators are overloaded. Perl - they are not - (2012-06-09)
[3757] Ruby - a teaching example showing many of the language features in short but useful program - (2012-06-09)
[3621] Matching regular expressions, and substitutions, in Ruby - (2012-02-23)
[3424] Divide 10000 by 17. Do you get 588.235294117647, 588.24 or 588? - Ruby and PHP - (2011-09-08)
[2621] Ruby collections and strings - some new examples - (2010-02-03)
[2614] Neatly formatting results into a table - (2010-02-01)
[2608] Search and replace in Ruby - Ruby Regular Expressions - (2010-01-31)
[2295] The dog is not in trouble - (2009-07-17)
[2293] Regular Expressions in Ruby - (2009-07-16)
[1891] Ruby to access web services - (2008-11-16)
[1887] Ruby Programming Course - Saturday and Sunday - (2008-11-16)
[1875] What are exceptions - Python based answer - (2008-11-08)
[1588] String interpretation in Ruby - (2008-03-21)
[1305] Regular expressions made easy - building from components - (2007-08-16)
[1195] Regular Express Primer - (2007-05-20)
[987] Ruby v Perl - interpollating variables - (2006-12-15)
[986] puts - opposite of chomp in Ruby - (2006-12-15)
[970] String duplication - x in Perl, * in Python and Ruby - (2006-12-07)
R110 - Ruby - Special Variables and Pseudo-Variables [4682] One line scripts - Awk, Perl and Ruby - (2016-05-20)
[4502] Reading and parsing a JSON object in Ruby - (2015-06-01)
[2613] Constants in Ruby - (2010-02-01)
[2296] Variable scope - what is it, and how does it Ruby? - (2009-07-18)
[1586] Variable types in Ruby - (2008-03-21)
[990] Ruby - Totally Topical - (2006-12-16)
Some other Articles
Saturdays out from Melksham - to Oxford, to Didcot or to SwindonOn Malachite GreenBoth feet on the same pavementSkyline and looking up in LondonObject Oriented Ruby - new examplesHandling unusual and error conditions - exceptionsPassing code to procedures and yield in RubyWhat are Ruby Symbols?