If you want to pass a block of code into a Ruby procedure, you can do so by passing in the code to a variable who's name you start with an & in the procedure definition; you can then run that code using the .call method on the received object. In some ways this is an indirect reference - in Ruby you can's simply assign code to a variable.
You can also pass a curly brace defined block / closure into a procedure by specifying it as the piece of code that the procedure should jump to when it encounters a
yield.
There are examples of both of these syntaxes at
[this location].
(written 2010-02-02)
Associated topics are indexed under
R104 - Ruby - Control Structures [3769] Muttable v immutable and implications - Ruby - (2012-06-20)
[3620] Finding the total, average, minimum and maximum in a program - (2012-02-22)
[3619] Ruby v Perl - a comparison example - (2012-02-21)
[3422] Assigning values to variables within other statements - Ruby - (2011-09-07)
[3397] Does a for loop evaluate its end condition once, or on every iteration? - (2011-08-18)
[3254] Multiple inputs, multiple out, ruby functions - (2011-04-19)
[3253] Is this number between? Does this list include? - Ruby - (2011-04-18)
[3200] How a for loop works Java, Perl and other languages - (2011-03-12)
[3159] Returning multiple values from a function call in various languages - a comparison - (2011-02-06)
[3158] Ruby training - some fresh examples for string handling applications - (2011-02-05)
[3156] Splitting data reading code from data processing code - Ruby - (2011-02-04)
[2975] Why do I need brackets in Ruby ... or Perl, Python, C or Java - (2010-09-29)
[2892] Alternative loops and conditionals in Ruby and Perl - (2010-07-28)
[2711] For loop - checked once, or evety time? Ruby v Perl comparison and contrast - (2010-04-07)
[2471] A short form of if ... then ... else - (2009-10-23)
[2287] Learning to program in Ruby - examples of the programming basics - (2009-07-15)
[1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
[1891] Ruby to access web services - (2008-11-16)
[1887] Ruby Programming Course - Saturday and Sunday - (2008-11-16)
[1870] What to do with a huge crop of apples - (2008-11-04)
[1738] Clean code, jump free (Example in Lua) - (2008-08-06)
[1696] Saying NOT in Perl, PHP, Python, Lua ... - (2008-07-04)
[1587] Some Ruby programming examples from our course - (2008-03-21)
[1582] Ruby, C, Java and more - getting out of loops - (2008-03-19)
[1220] for loop - how it works (Perl, PHP, Java, C, etc) - (2007-06-06)
[1163] A better alternative to cutting and pasting code - (2007-04-26)
[995] Ruby's case - no break - (2006-12-17)
[985] Equality in Ruby - == eql? and equal? - (2006-12-14)
[962] Breaking a loop - Ruby and other languages - (2006-12-03)
[960] 1st, 2nd, 3rd revisited in Ruby - (2006-12-02)
5673
Some other Articles
Object Oriented Ruby - new examplesHandling unusual and error conditions - exceptionsRuby collections and strings - some new examplesDirect access to object variable (attributes) in RubyPassing code to procedures and yield in RubyWhat are Ruby Symbols?Comparing floating point numbers - a word of caution and a solutionDefining a static method - Java, Python and RubyString to number conversion with error trapping in RubyNeatly formatting results into a table