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-core@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

Reply via email to