[LRUG] Rake problem with gets

Roland Swingler roland.swingler at gmail.com
Tue Jun 13 08:17:31 PDT 2006


Great - that worked for me too.

Thanks a lot - much appreciated.

Roland

On 6/13/06, James Adam <james.adam at gmail.com> wrote:
> As I recall, Rake changes the default $stdout/$stdin arrangement. If you call
>
>   STDIN.gets
>
> It should work. I've just tried this
>
> Rakefile:
> task :getting do
>   print 'What is your name: '
>   x = STDIN.gets
>   puts "You'll never be as good as Steven Seagal, #{x}"
> end
>
> $ rake getting
> (in /private/tmp)
> What is your name: James
> You'll never be as good as Steven Seagal, James
>
> HTH
>
> - james
>
> On 6/13/06, Roland Swingler <roland.swingler at gmail.com> wrote:
> > Hi all,
> >
> > Good to meet some of you the other night - I should definitely try to
> > make more meetings. Also looking forward to the idea of a few hack
> > nights that John mused about.
> >
> > Anyway, I have been doing some stuff with Rake at the moment, and have
> > run into a bug / something I don't understand - if anyone can shed any
> > light on the problem it would be much appreciated.
> >
> > Here is my example rakefile:
> >
> > task :getting do
> >   x = gets
> >   puts x
> > end
> >
> > task :default => [:getting]
> >
> > In my actual file I'm using the gets to confirm that you really want
> > to do some uploading after seeing what files have been changed. The
> > problem - running just "rake" on the command line works fine, waiting
> > for input - running "rake getting" gives me the following error:
> >
> > rake aborted!
> > No such file or directory - getting
> > /home/rolands/tests/rakefile.rb:2:in `gets'
> > (See full trace by running task with --trace)
> >
> > Doing the trace I get:
> >
> > /home/rolands/tests/rakefile.rb:2:in `gets'
> > /home/rolands/tests/rakefile.rb:2
> > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in `execute'
> > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in `execute'
> > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in `invoke'
> > /usr/local/lib/ruby/1.8/thread.rb:135:in `synchronize'
> > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in `invoke'
> > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in `run'
> > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in `run'
> > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/bin/rake:7
> > /usr/local/bin/rake:18
> >
> > The only thing I'm suspicious of is the Mutex synchronize method call
> > in line 135 - I know nothing about threading (in fact multithreading
> > is a subject I'd be interested in hearing a talk about) but am
> > guessing it might screw up input in some way?
> >
> > Any thoughts or if anyone has run into a similar problem - it would be
> > great to hear. I'm running the stable snapshot version of ruby 1.8.4
> >
> > Cheers,
> > Roland
> > _______________________________________________
> > chat mailing list
> > chat at lists.lrug.org
> > http://lists.lrug.org/listinfo.cgi/chat-lrug.org
> >
>
>
> --
> * J *
>   ~
> _______________________________________________
> chat mailing list
> chat at lists.lrug.org
> http://lists.lrug.org/listinfo.cgi/chat-lrug.org
>



More information about the Chat mailing list