For 2023 - we are now fully retired from IT training. We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here)) |
Ruby - Totally Topical
Ruby supports topicalisation - the $_ variable being set by certain statements when a piece of code such as gets in a while statement isn't assigned, and the the same variable being used in many other methods - and even as the object on which methods run by default - in following code.
Here's a piece of code that does NOT use topicalisation:
while info = DATA.gets
iparts = info.split(/\s+/)
next unless info =~ /Ruby/
puts iparts[-1]
end
__END__
Ruby is a great language
Python is a good language
Ruby is a type of gem
Python is a species of snake
Ruby is a colour
Woodland is a group of trees
And here is the same piece of code with the default input and pattern matching space left out everywhere that info occurred above. And split defaults to splitting at white space, so that can be simplified too.
while DATA.gets
iparts = split
next unless /Ruby/
puts iparts[-1]
end
__END__
Ruby is a great language
Python is a good language
Ruby is a type of gem
Python is a species of snake
Ruby is a colour
Woodland is a group of trees
Whichever way I run that:
grahamellis$ ruby gloop1
language
gem
colour
grahamellis$ (written 2006-12-16)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles R110 - Ruby - Special Variables and Pseudo-Variables [1586] Variable types in Ruby - (2008-03-21) [1587] Some Ruby programming examples from our course - (2008-03-21) [1891] Ruby to access web services - (2008-11-16) [2296] Variable scope - what is it, and how does it Ruby? - (2009-07-18) [2613] Constants in Ruby - (2010-02-01) [2623] Object Oriented Ruby - new examples - (2010-02-03) [3757] Ruby - a teaching example showing many of the language features in short but useful program - (2012-06-09) [4502] Reading and parsing a JSON object in Ruby - (2015-06-01) [4682] One line scripts - Awk, Perl and Ruby - (2016-05-20)
Some other Articles
Training on Cascading Style SheetsPositioning with Cascading Style SheetsEnthusiastic, but ....Adding a member to a Hash in RubyRuby - Totally TopicalMelksham QuizYou should think you're first in a hotel roomRuby v Perl - interpollating variablesputs - opposite of chomp in RubyEquality in Ruby - == eql? and equal?
|
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|