Dennis Misener wrote:

>What I desire is an implementation for "parameters" such that:
>
>def announce(args)
>	parameters(args,:age=>21)
>	"My name is #{first} #{last} and my age is #{age}"
>end
>
>announce(:first=>'John', :last=>'Smith') generates
>"My name is John Smith and my age is 21"
>  
>

The ostruct solution presented earlier is a nice one.  Another 
(eval-based) solution is to simply put each hash-key value in an 
instance variable:

  hash.each_pair do |key,value|
     eval "@#{key} = value"
  end

'Course, then you have to say "My name is #{@first} and my age is 
#{@age}"...

-- 
Jamis Buck
jgb3 / email.byu.edu

ruby -h | ruby -e 'a=[];readlines.join.scan(/-(.)\[e|Kk(\S*)|le.l(..)e|#!(\S*)/) {|r| a << r.compact.first };puts "\n>#{a.join(%q/ /)}<\n\n"'