"Splat! is the star (*) operator, typically used in Ruby for defining methods that take an unlimited number of arguments"
http://pivotallabs.com/users/nick/blog/articles/438-ruby-pearls-vol-1-the-splat <http://pivotallabs.com/users/nick/blog/articles/438-ruby-pearls-vol-1-the-splat>It must appear as the last argument in a method signature, as it collects all values from its position on into an array. <http://www.manning.com/black2/> -- Will Green http://hotgazpacho.org/ On Tue, Jul 27, 2010 at 4:49 PM, Goode, Troy <troy.go...@nreca.coop> wrote: > Thanks for the help everyone! I had been trying multiple variations of the > code I sent, removing/adding asterisks & ampersands and just never stumbled > upon the correct combo. Thanks again for the help! > > > > *From:* ironruby-core-boun...@rubyforge.org [mailto: > ironruby-core-boun...@rubyforge.org] *On Behalf Of *Will Green > *Sent:* Tuesday, July 27, 2010 4:12 PM > *To:* ironruby-core@rubyforge.org > *Subject:* Re: [Ironruby-core] custom rake task > > > > Specifically, if you do an explicit return (use the return keyword) from a > Proc, that exits the scope in which the Proc is executed. lambdas that > return do not exit the scope in which it was executed. > > > > See http://samdanielson.com/2007/3/19/proc-new-vs-lambda-in-ruby > > > -- > Will Green > http://hotgazpacho.org/ > > On Tue, Jul 27, 2010 at 3:35 PM, Jim Deville <jdevi...@microsoft.com> > wrote: > > To pass the body proc into define_task, you need to turn it into a block by > calling &body. I would also recommend using a lambda instead of a proc (due > to return semantics). I'll also be turning my WIX rake tasks into a gem, so > there will be more examples there. > > > > ------------------------------ > > *From: *Goode, Troy <troy.go...@nreca.coop> > *Sent: *Tuesday, July 27, 2010 11:59 AM > *To: *ironruby-c...@rubyforge.org <Ironruby-core@rubyforge.org> > *Subject: *[Ironruby-core] custom rake task > > I was following Derek Bailey’s article from yesterday entitled “How to > Build Custom Rake Tasks; The Right > Way”<http://www.lostechies.com/blogs/derickbailey/archive/2010/07/26/how-to-build-custom-rake-tasks-the-right-way.aspx>and > tried to replicate some of his code in IronRuby. Now I’ve run into a > snag that I’m hoping somebody can help with. > > > > My .rb file looks like so: > > > > *require 'rake'* > > * * > > *def foo(*args)* > > * body = proc {* > > * puts 'hello world'* > > * }* > > * Rake::Task.define_task(*args, body)* > > *end* > > * * > > *foo :bar* > > * * > > *task :default => [:bar]* > > > > Pretty simple, right? Well, when I run it using rake, I get the following > error: > > > > *C:\Users\txg0\Desktop>rake -f test1.rb --trace* > > *(in C:/Users/txg0/Desktop)* > > *rake aborted!* > > *syntax error, unexpected IDENTIFIER, expecting AMPERSAND* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `load'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in > `raw_load_rakefile'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2017:in > `load_rakefile'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in > `standard_exception_handling'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2016:in > `load_rakefile'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2000:in `run'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in > `standard_exception_handling'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'* > > *C:/Program Files (x86)/IronRuby > 1.0v4/lib/ironruby/gems/1.8/gems/rake-0.8.7/bin/rake:31* > > *C:/Program Files (x86)/IronRuby 1.0v4/bin/rake:19:in `load'* > > *C:/Program Files (x86)/IronRuby 1.0v4/bin/rake:19* > > > > Anyone have any clues? > > > Confidentiality Notice: This e-mail message, including any attachments, is > for the sole use of the intended recipient(s) and may contain confidential > and privileged information. Any unauthorized review, copy, use, disclosure, > or distribution is prohibited. If you are not the intended recipient, please > contact the sender by reply e-mail and destroy all copies of the original > message. > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > Confidentiality Notice: This e-mail message, including any attachments, is > for the sole use of the intended recipient(s) and may contain confidential > and privileged information. Any unauthorized review, copy, use, disclosure, > or distribution is prohibited. If you are not the intended recipient, please > contact the sender by reply e-mail and destroy all copies of the original > message. > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core