[Ironruby-core] custom rake task

Will Green will at hotgazpacho.org
Tue Jul 27 18:31:39 EDT 2010


"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.Goode at 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-bounces at rubyforge.org [mailto:
> ironruby-core-bounces at rubyforge.org] *On Behalf Of *Will Green
> *Sent:* Tuesday, July 27, 2010 4:12 PM
> *To:* ironruby-core at 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 <jdeville at 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.Goode at nreca.coop>
> *Sent: *Tuesday, July 27, 2010 11:59 AM
> *To: *Ironruby-core at rubyforge.org <Ironruby-core at 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 at 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 at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100727/7ba7d2db/attachment-0001.html>


More information about the Ironruby-core mailing list